Linux 要看哪些 Process 佔用的記憶體最多,可以直接用 htop、top 排序就有~ 不過需要監控、超過多少需要砍掉,就需要 ps 做點加工~
Linux 查看現在佔用 RAM 是哪些 Process
查佔用記憶體最多的 Process 排序
- ps aux --sort=-%mem | head -10
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- nobody 865 1.0 2.3 1191724 763492 ? Ssl 2025 3777:47 /usr/bin/memcached
- mysql 1198 26.1 1.3 1141404 450928 ? Sl 2025 92683:33 /usr/sbin/mysqld
要查看佔用記憶體量、PID、Process 的排序
- ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n # Memory, process-name
- 121 MB /usr/sbin/apache2
- 121.281 MB /usr/sbin/apache2
- 126.949 MB /usr/sbin/named
- ps aux | awk '{print $6/1024 " MB\t\t" $2 "\t" $11}' | sort -n # MEM, pid, porcess-name
- 121 MB 2236477 /usr/sbin/apache2
- 121.617 MB 2236473 /usr/sbin/apache2