Learn how to find the process using high memory on the Linux server. This helps in tracking down issues and troubleshooting utilization problems.
Many times you came to know system memory is highly utilized using a utility like sar. You want to find processes hogging on memory. To find that, we will be using the sort function of process status ps command in this article. We will be sorting ps output with RSS values. RSS is Resident Set Size. These values show how much memory from physical RAM allocated to a particular process. It does not include swapped out memory numbers. Since we troubleshooting processes using high physical memory RSS fits our criteria.
Lets see below example :
# ps aux --sort -rss |head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
oracle_admin 14400 0.0 11.8 36937384 31420276 ? Ss 2016 86:41 ora_mman_DB1
oracle_admin 14405 0.2 11.3 36993676 30023868 ? Ss 2016 1676:11 ora_DB3
oracle_admin 14416 0.2 11.3 36993676 30023656 ? Ss 2016 1722:47 ora_DB3
oracle_admin 14410 0.2 11.3 36993676 30020400 ? Ss 2016 1702:09 ora_DB3
oracle_admin 14421 0.2 11.3 36993676 30018272 ? Ss 2016 1754:25 ora_DB3
oracle_admin 14440 0.0 10.5 36946868 27887152 ? Ss 2016 130:30 ora_mon_DB3
oracle_admin 15855 0.0 6.9 19232424 18298484 ? Ss 2016 41:01 ora_mman_DB4
oracle_admin 15857 0.1 6.7 19288720 17966276 ? Ss 2016 161:45 ora_DB4
oracle_admin 15864 0.1 6.7 19288720 17964584 ? Ss 2016 173:36 ora_DB4
In the above output, we sorted processes with RSS and shown only the top 10 ones. RSS value in output is in Kb. Let’s verify this output for the topmost process with PID 14400.
# free
total used free shared buffers cached
Mem: 264611456 96146728 168464728 0 1042972 75377436
-/+ buffers/cache: 19726320 244885136
Swap: 67108860 539600 66569260
On our system, we have 264611456Kb physical RAM (highlighted entry in the above output). Out of which 11.8% is used by process 14400 (from ps output above) which comes to 31224151Kb. This value matches the RSS value of 31420276Kb (in ps
output above)!
So the above method works well when you try to find processes using the highest physical memory on the system!
You can even use other methods to get high memory using processes like top
, htop
, etc. but this article aimed at using ps
.