diff options
author | Colin Cross <ccross@android.com> | 2013-06-21 16:53:03 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2013-06-22 13:10:58 -0700 |
commit | 479747be63f3c8c33220d3c2690cac6b674746ea (patch) | |
tree | e87582cd01d14349184d4235db842628f11c8806 /librank/librank.c | |
parent | 83dc12a6d0ac56198b8655db779faee3610beebe (diff) | |
download | extras-479747be63f3c8c33220d3c2690cac6b674746ea.tar.gz |
librank: add flag to show only KSM pages
Passing -k will cause librank to only show KSM pages. The RSS
column will approximate the memory used before KSM, and PSS will
show the memory used after KSM.
Change-Id: I62310b2cda97316b835cf7ebe51b5155872c37dc
Diffstat (limited to 'librank/librank.c')
-rw-r--r-- | librank/librank.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/librank/librank.c b/librank/librank.c index 22985465..ec6a01ea 100644 --- a/librank/librank.c +++ b/librank/librank.c @@ -240,6 +240,7 @@ int main(int argc, char *argv[]) { {"all", 0, 0, 'a'}, {"cached", 0, 0, 'c'}, {"nocached", 0, 0, 'C'}, + {"ksm", 0, 0, 'k'}, {"help", 0, 0, 'h'}, {"pss", 0, 0, 'p'}, {"uss", 0, 0, 'u'}, @@ -251,7 +252,7 @@ int main(int argc, char *argv[]) { {"perm", required_argument, 0, 'm'}, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "acChm:pP:uvrsR", longopts, NULL); + c = getopt_long(argc, argv, "acChkm:pP:uvrsR", longopts, NULL); if (c < 0) { break; } @@ -268,6 +269,10 @@ int main(int argc, char *argv[]) { required_flags = PM_PAGE_SWAPBACKED; flags_mask = PM_PAGE_SWAPBACKED; break; + case 'k': + required_flags = PM_PAGE_KSM; + flags_mask = PM_PAGE_KSM; + break; case 'h': usage(argv[0]); exit(EXIT_SUCCESS); @@ -431,6 +436,7 @@ static void usage(char *myname) { " -m [r][w][x] Only list pages that exactly match permissions\n" " -c Only show cached (storage backed) pages\n" " -C Only show non-cached (ram/swap backed) pages\n" + " -k Only show pages collapsed by KSM\n" " -h Display this help screen.\n", myname); } |