Current RSS on linux and android too?
BUG=skia: Review URL: https://codereview.chromium.org/1009313003
This commit is contained in:
parent
5721c9b4a7
commit
eec84e324e
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user