Difference between revisions of "How to find user memory usage in linux"
From Brian Nelson Ramblings
(Created page with "==How to find user memory usage in linux== Finding out who/what is using the most memory is vital when trying to figure out is causing your system to run out of memory. Ther...") |
(No difference)
|
Latest revision as of 16:33, 9 July 2015
Contents
How to find user memory usage in linux
Finding out who/what is using the most memory is vital when trying to figure out is causing your system to run out of memory.
There are many ways to figure out what is using the most memory.
1) Find out what is using the most memory
for USER in $(ps haux | awk '{print $1}' | sort -u); do ps haux | awk -v user=$USER '$1 ~ user { sum += $4} END { print user, sum; }' ; done
2) Find out what is using the most memory in percent
TOTAL=$(free | awk '/Mem:/ { print $2 }'); for USER in $(ps haux | awk '{print $1}' | sort -u); do ps hux -U $USER | awk -v user=$USER -v total=$TOTAL '{ sum += $6 } END { printf "%s %.2f\n", user, sum / total * 100; }'; done
3) If your system supports, try to install and use smem:
smem -u
User Count Swap USS PSS RSS gdm 1 0 308 323 820 nobody 1 0 912 932 2240 root 76 0 969016 1010829 1347768
or
smem -u -t -k
User Count Swap USS PSS RSS gdm 1 0 308.0K 323.0K 820.0K nobody 1 0 892.0K 912.0K 2.2M root 76 0 937.6M 978.5M 1.3G ameskaas 46 0 1.2G 1.2G 1.5G