From 0288490e5985533460e6d92741827a6ba806a9e9 Mon Sep 17 00:00:00 2001 From: Timo Kokkonen Date: Fri, 3 Sep 2010 20:37:49 +0300 Subject: [PATCH] Analyzer: Print USS Print the Unique Set Size columnt for each process. Signed-off-by: Timo Kokkonen --- analyze.c | 9 ++++++--- pagemap.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/analyze.c b/analyze.c index 163b001..7ce8a0a 100644 --- a/analyze.c +++ b/analyze.c @@ -196,7 +196,7 @@ void print_pid_stats(struct pageframe *pf, struct process *process_list, { struct analyze_frames af; struct process *ps; - long int swapped, present, total; + long int swapped, present, unique, total; long int biggest = 0, second_biggest; int count, processes = 0; @@ -212,10 +212,11 @@ void print_pid_stats(struct pageframe *pf, struct process *process_list, bintree_walk(&pf->tree, &af.ops); ps->pages_present = af.pages_present; ps->pages_swapped = af.pages_swapped; + ps->pages_unique = af.pages_unique; biggest = MAX(biggest, ps->pages_present + ps->pages_swapped); } - printf(" RSS swapped total pid"); + printf(" RSS swapped USS total pid"); if (opts->with_threads) printf(" tid"); printf(" name\n"); @@ -227,6 +228,7 @@ restart: present = ps->pages_present; swapped = ps->pages_swapped; + unique = ps->pages_unique; total = present + swapped; second_biggest = (total < biggest) && @@ -239,9 +241,10 @@ restart: if (total == 0) continue; - printf("%5lld %sB %5lld %sB %5lld %sB %5d ", + printf("%5lld %sB %5lld %sB %5lld %sB %5lld %sB %5d ", PAGE_TO_NICE(present), PAGE_TO_NICE_UNIT(present), PAGE_TO_NICE(swapped), PAGE_TO_NICE_UNIT(swapped), + PAGE_TO_NICE(unique), PAGE_TO_NICE_UNIT(unique), PAGE_TO_NICE(total), PAGE_TO_NICE_UNIT(total), ps->pid); diff --git a/pagemap.h b/pagemap.h index 34c5d94..130c307 100644 --- a/pagemap.h +++ b/pagemap.h @@ -150,6 +150,7 @@ struct process { long int pages_present; long int pages_swapped; + long int pages_unique; int is_initial_pid; }; -- 2.45.0