[SERVER-40155] Configurable Heap Profiler Maximums Created: 15/Mar/19  Updated: 06/Dec/22  Resolved: 07/Dec/20

Status: Closed
Project: Core Server
Component/s: Diagnostics
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Danny Hatcher (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Storage Execution
Participants:

 Description   

Currently the heap profiler will stop collecting information once it hits a hardcoded maximum. Messages like the following will be printed out once in the logs:

too many stacks; disabling heap profiling
too many live objects; disabling heap profiling

For situations where more data collection is necessary, it would be useful to set a different maximum so these limits don't get hit.



 Comments   
Comment by Andrew Morrow (Inactive) [ 24/Jul/19 ]

Moving out of the libunwind epic and into quick wins. While we do need to make some changes here per SERVER-42406 in order for the heap profiler to use libunwind, the changes suggested in this ticket are unrelated.

Comment by Danny Hatcher (Inactive) [ 26/Mar/19 ]

No, I have never personally seen the "too many live objects". If reducing the scope of this ticket to just configuring the max number of stacks is more feasible I am fine with that.

Comment by Bruce Lucas (Inactive) [ 25/Mar/19 ]

daniel.hatcher, do you have an instance where "too many live objects" was seen? This should only occur when the amount of memory is huge, > 256 GB, and in that case it can be avoided by increasing the sampleIntervalBytes parameter to reduce the number of live objects that have to be tracked.

In any case care would need to be taken regarding performance if kMaxObjInfos were made a parameter, as that would eliminate compiler optimizations that are possible since it's a compile-time constant.

We could instead add a note to the "too many live objects" message to "consider increasing sampleIntervalBytes" to make this clearer.

Generated at Thu Feb 08 04:54:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.