Current RSS on linux and android too?

BUG=skia:

Review URL: https://codereview.chromium.org/1009313003
This commit is contained in:
mtklein 2015-03-17 10:24:49 -07:00 committed by Commit bot
parent 5721c9b4a7
commit eec84e324e

View File

@ -41,6 +41,23 @@
}
return info.resident_size / 1024 / 1024; // Darwin reports bytes.
}
#elif defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID) // N.B. /proc is Linux-only.
#include <unistd.h>
#include <stdio.h>
int sk_tools::getCurrResidentSetSizeMB() {
const long pageSize = sysconf(_SC_PAGESIZE);
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);
fclose(statm);
if (rc != 1) {
return -1;
}
}
return rssPages * pageSize / 1024 / 1024;
}
#elif defined(SK_BUILD_FOR_WIN32)
int sk_tools::getCurrResidentSetSizeMB() {
PROCESS_MEMORY_COUNTERS info;