From f1d6df772ee241c67e29b0d6598576e38551a716 Mon Sep 17 00:00:00 2001 From: mtklein Date: Thu, 30 Apr 2015 07:35:27 -0700 Subject: Looks like rssPages * pageSize is overflowing on 32-bit Linux... ... resulting in apparently negative memory usage: (-2040/2058MB 5867) 1.81s serialize-8888 skp top25desk_google_com_calendar_.skp Turns out long is 32-bit there, long long is 64-bit. NOTREECHECKS=true BUG=skia: Review URL: https://codereview.chromium.org/1117923002 --- tools/ProcStats.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools/ProcStats.cpp') diff --git a/tools/ProcStats.cpp b/tools/ProcStats.cpp index fc9da23011..a772db4226 100644 --- a/tools/ProcStats.cpp +++ b/tools/ProcStats.cpp @@ -46,10 +46,10 @@ #include int sk_tools::getCurrResidentSetSizeMB() { const long pageSize = sysconf(_SC_PAGESIZE); - long rssPages = 0; + long long rssPages = 0; if (FILE* statm = fopen("/proc/self/statm", "r")) { // statm contains: program-size rss shared text lib data dirty, all in page counts. - int rc = fscanf(statm, "%*d %ld", &rssPages); + int rc = fscanf(statm, "%*d %lld", &rssPages); fclose(statm); if (rc != 1) { return -1; -- cgit v1.2.3