Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

memory usage of symbolizer's linerCache? #4309

Open
dreamerlzl opened this issue Feb 19, 2024 · 4 comments
Open

memory usage of symbolizer's linerCache? #4309

dreamerlzl opened this issue Feb 19, 2024 · 4 comments

Comments

@dreamerlzl
Copy link
Contributor

dreamerlzl commented Feb 19, 2024

Judging from my understanding of the code and the memory profile of parca, it seems that there are no configurations/controls for the growing memory usage of symbolization caching:

subprograms map[dwarf.Offset][]*godwarf.Tree

Currently I don't know how to set a memory limit for parca properly so thanks for any suggestion/insight.

@dreamerlzl
Copy link
Contributor Author

dreamerlzl commented Feb 19, 2024

Screenshot 2024-02-19 at 14 01 47

@brancz
Copy link
Member

brancz commented Mar 1, 2024

I think we just need to change the whole symbolization strategy here. We can do all of this entirely without the godwarf.LoadTree stuff and it'll make everything way faster, at that point we probably won't even need the liner cache anymore.

@dreamerlzl
Copy link
Contributor Author

dreamerlzl commented Mar 1, 2024

I think we just need to change the whole symbolization strategy here. We can do all of this entirely without the godwarf.LoadTree stuff and it'll make everything way faster, at that point we probably won't even need the liner cache anymore.

Thanks for the update. So currently we can do nothing here to limit the memory growing, right?

@brancz
Copy link
Member

brancz commented Mar 1, 2024

That's right, but I hope to get to working on this soon, as right now it's quite terrible as it depends on the binaries involved how much memory is used, that shouldn't be the case, and it's definitely possible to change this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants