1. 程式人生 > >判斷占用系統資源的進程

判斷占用系統資源的進程

統計 contain 但是 大量 int AD head cursor col

1.占用大量swap的進程

方法一: for循環
for i in $(cd /proc;ls | grep "^[0-9]" | awk $0>100); do awk /Swap:/{a=a+$2}END{print ‘"$i"‘,a/1024"M"} /proc/$i/smaps;done| sort -k2nr | head
會打印出占用swap最多的前十個進程的pid 此原理是統計/proc/$pid/目錄下的smaps文件中的swap大小 方法二:iotop 較直觀的顯示出程序占用swap的情況,但是如果swap達到100%的話,可能直接會被卡死
其他的方法 如 free -m vmstat top 等,只能看整體的使用量 2.占用大量內存的進程 方法一:ps
ps -eo pid,%mem,command | sort -k2nr | head

方法二:top htop

開top之後,按M 可查看 內存占用最大的程序

3.占用大量CPU的進程 方法一:ps
ps -eo pid,%cpu,command | sort -k2nr | head

方法二:top htop

判斷占用系統資源的進程