diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2021-09-10 17:11:23 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2021-09-10 17:11:23 +0300 |
commit | a9215c6ecc9b268c522386840c869803768e3540 (patch) | |
tree | 84e5ac2f51a1aa7c5fcdc947476177153c1c40af /include/llfio/v2.0/detail/impl/posix/utils.ipp | |
parent | da688a15607c55359840a13ac844f185d2d7a069 (diff) |
current_process_memory_usage: Fix bug in accurate committed private calculation routine on Linux.
Diffstat (limited to 'include/llfio/v2.0/detail/impl/posix/utils.ipp')
-rw-r--r-- | include/llfio/v2.0/detail/impl/posix/utils.ipp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/llfio/v2.0/detail/impl/posix/utils.ipp b/include/llfio/v2.0/detail/impl/posix/utils.ipp index 19f319c3..fe3aa5d2 100644 --- a/include/llfio/v2.0/detail/impl/posix/utils.ipp +++ b/include/llfio/v2.0/detail/impl/posix/utils.ipp @@ -459,15 +459,15 @@ namespace utils // std::cerr << "Anon entries:"; for(auto &i : anon_entries) { - OUTCOME_TRY(auto &&size, parse(i, "\nSize:")); - OUTCOME_TRY(auto &&rss, parse(i, "\nRss:")); - OUTCOME_TRY(auto &&anonymous, parse(i, "\nAnonymous:")); - OUTCOME_TRY(auto &&lazyfree, parse(i, "\nLazyFree:")); + OUTCOME_TRY(auto &&size, parse(i, "\nSize:")); // amount committed + OUTCOME_TRY(auto &&rss, parse(i, "\nRss:")); // amount paged in + OUTCOME_TRY(auto &&anonymous, parse(i, "\nAnonymous:")); // amount actually dirtied + OUTCOME_TRY(auto &&lazyfree, parse(i, "\nLazyFree:")); // amount "decommitted" on Linux to avoid a VMA split if(size != (uint64_t) -1 && rss != (uint64_t) -1 && anonymous != (uint64_t) -1) { ret.total_address_space_in_use += size; ret.total_address_space_paged_in += rss; - ret.private_committed += anonymous; + ret.private_committed += size; if(lazyfree != (uint64_t) -1) { ret.total_address_space_paged_in -= lazyfree; |