Linux查看哪些进程占用较多的cpu、内存和磁盘IO的方法

linux 查看哪个进程占用CPU和内存
1.ps aux | grep   mysql    用这个方法找到进程号
如下:找到mysql的进程号是1651
[root@vm254 ~]# ps aux |grep mysql
mysql     1651  0.1 18.2 1119264 184696 ?      Sl   18:22   0:01 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

2.top  -p  进程号  ;来显示进程占用资源信息
如下:
[root@vm254 ~]# top -p 1651
top - 18:35:21 up  1:43,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1014732 total,   457736 free,   273112 used,   283884 buff/cache
KiB Swap:   806908 total,   806908 free,        0 used.   596616 avail Mem 

  PID    USER      PR  NI         VIRT          RES    SHR  S   %CPU %MEM     TIME+     COMMAND                                                                      
 1651  mysql     20   0   1119264   184696   6800  S         0.0        18.2   0:01.27    mysqld 
linux 查看哪个进程占用磁盘IO

当然很多时候CPU占用高的进程,占用的IO也高,可以用top -p 进程ID 来初步判断
方法1:

 iotop -oP     #安装方式yum  install  iotop
命令的含义:只显示有I/O行为的进程

方法2:

pidstat   -d   1   #安装方式yum install  sysstat
命令的含义:展示I/O统计,每秒更新一次

注意:
以上两个命令都需要内核版本支持kernels 2.6.20 and later only

你可能感兴趣的:(linux)