Cache only a small portion of page map data.
The scudo memory allocator will allocate a large virtual memory address
that causes procrank to allocate a huge amount of data. Modify so it
caches the data a bit at a time.
Remove some allocations that are not necessary since the data is only used
in the first loop.
Fix a few pread64 checks against the actual bytes read, rather than the
read is < 0.
Fix sort by rss in procrank.
Test: Ran unit tests (only one unit test actually runs the modified code).
Test: Ran the old version of procrank using a static libmeminfo and verified
Test: that the same data is found as the new version.
(cherry picked from commit 7f8915c76e232dd228930e749ec289d10c547f85)
3 files changed