Parse /proc/<pid>/smaps_rollup if present && Reduce string concatenaion operations #11676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #11667
Status
ready
Description
The issue #11667 can be solved in 3 different ways. This is the second out of 3 suggested fixes.
/proc/<pid>/smaps_rollup
file if present, (we need a kernel version 4.+ for this), and falls back to parsing/proc/<pid>/smaps
file if the accumulated statistics file is missing.According to the Linux kernel documentation page about
/proc
file system:Since this is a direct command execution at runtime, I was able to check the result directly line by line:
Here follows the full test I did manually for this change:
As one can see the so modified
monitorBase
andpssMemoryCommand
lines, return exactly the same tuples as output, just like the original code, but are using the accumulated process statistics file instead. I have checked the values returned multiple time - they were the same regardless of which file we use.Is it backward compatible (if not, which system it affects?)
YES
Related PRs
None
External dependencies / deployment changes
No