判断占用系统资源的进程

Posted FuZZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断占用系统资源的进程相关的知识,希望对你有一定的参考价值。

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
 

以上是关于判断占用系统资源的进程的主要内容,如果未能解决你的问题,请参考以下文章

9 进程管理

如何在Linux系统中察看进程占用的资源,Linux高手请进!

ubuntu查看系统资源占用(内存,cpu和进程)

Linux查看系统资源情况

如何查看linux系统的资源占用情况

原创面向对象版本地CPU资源占用监控脚本