{
struct analyze_frames af;
struct process *ps;
- long int swapped, present;
+ long int swapped, present, total;
long int biggest = 0, second_biggest;
int count;
bintree_walk(&pf->tree, &af.ops);
ps->pages_present = af.pages_present;
ps->pages_swapped = af.pages_swapped;
- biggest = MAX(biggest, ps->pages_present);
+ biggest = MAX(biggest, ps->pages_present + ps->pages_swapped);
}
printf(" in ram swapped pid name\n");
present = ps->pages_present;
swapped = ps->pages_swapped;
+ total = present + swapped;
- second_biggest = ps->pages_present < biggest &&
- second_biggest < ps->pages_present ?
- ps->pages_present : second_biggest;
+ second_biggest = (total < biggest) &&
+ (second_biggest < total) ?
+ total : second_biggest;
- if (ps->pages_present != biggest)
+ if (total != biggest)
continue;
- if ((swapped + present) == 0)
+ if (total == 0)
continue;
printf("%6lld %sB %6lld %sB %5d %s\n",