Centos常用的进程管理和资源查看工具

一、pstree

    pstree命令以树状图的方式展现进程之间的派生关系

-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示; 
-c:不使用精简标示法; 
-G:使用VT100终端机的列绘图字符; 
-h:列出树状图时,特别标明现在执行的程序; 
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序; 
-l:采用长列格式显示树状图; 
-n:用程序识别码排序。预设是以程序名称来排序; 
-p:显示程序识别码; 
-u:显示用户名称; 
-U:使用UTF-8列绘图字符; 
-V:显示版本信息

    例如我要查看系统中所有的httpd进程和线程

[root@localhost ~]# pstree -p | grep httpd
           |-httpd(2821)-+-httpd(2822)-+-{httpd}(2827)
           |             |             |-{httpd}(2828)
           |             |             |-{httpd}(2829)
           |             |             |-{httpd}(2836)
           |             |             |-{httpd}(2837)
           |             |             |-{httpd}(2838)
           |             |             |-{httpd}(2886)
           |             |             |-{httpd}(2887)
           |             |             |-{httpd}(2888)
           |             |             |-{httpd}(2889)
           |             |             |-{httpd}(2890)
           |             |             |-{httpd}(2891)
           |             |             |-{httpd}(2892)
           |             |             |-{httpd}(2893)
           |             |             |-{httpd}(2894)
           |             |             |-{httpd}(2895)
           |             |             |-{httpd}(2896)
           |             |             |-{httpd}(2897)
           |             |             |-{httpd}(2898)
           |             |             |-{httpd}(2899)
           |             |             |-{httpd}(2900)
           |             |             |-{httpd}(2901)
           |             |             |-{httpd}(2902)
           |             |             |-{httpd}(2903)
           |             |             |-{httpd}(2904)
           |             |             `-{httpd}(2905)
           |             |-httpd(2823)-+-{httpd}(2830)
           |             |             |-{httpd}(2831)
           |             |             |-{httpd}(2832)
           |             |             |-{httpd}(2833)
           |             |             |-{httpd}(2834)
           |             |             |-{httpd}(2835)
           |             |             |-{httpd}(2846)
           |             |             |-{httpd}(2847)
           |             |             |-{httpd}(2848)
           |             |             |-{httpd}(2849)
           |             |             |-{httpd}(2850)
           |             |             |-{httpd}(2851)
           |             |             |-{httpd}(2852)
           |             |             |-{httpd}(2853)
           |             |             |-{httpd}(2854)
           |             |             |-{httpd}(2855)
           |             |             |-{httpd}(2856)
           |             |             |-{httpd}(2857)
           |             |             |-{httpd}(2858)
           |             |             |-{httpd}(2859)
           |             |             |-{httpd}(2860)
           |             |             |-{httpd}(2861)
           |             |             |-{httpd}(2862)
           |             |             |-{httpd}(2863)
           |             |             |-{httpd}(2864)
           |             |             `-{httpd}(2865)
           |             `-httpd(2824)-+-{httpd}(2840)
           |                           |-{httpd}(2841)
           |                           |-{httpd}(2842)
           |                           |-{httpd}(2843)
           |                           |-{httpd}(2844)
           |                           |-{httpd}(2845)
           |                           |-{httpd}(2866)
           |                           |-{httpd}(2867)
           |                           |-{httpd}(2868)
           |                           |-{httpd}(2869)
           |                           |-{httpd}(2870)
           |                           |-{httpd}(2871)
           |                           |-{httpd}(2872)
           |                           |-{httpd}(2873)
           |                           |-{httpd}(2874)
           |                           |-{httpd}(2875)
           |                           |-{httpd}(2876)
           |                           |-{httpd}(2877)
           |                           |-{httpd}(2878)
           |                           |-{httpd}(2879)
           |                           |-{httpd}(2880)
           |                           |-{httpd}(2881)
           |                           |-{httpd}(2882)
           |                           |-{httpd}(2883)
           |                           |-{httpd}(2884)
           |                           `-{httpd}(2885)

    因为pstree以树状图显示,所以非常直观,加上进程的PID还能显示这个PID对应的进程的详细情况

[root@localhost ~]# pstree 2821
httpd───3*[httpd───26*[{httpd}]]
#这里表示httpd下有3个子进程26个线程

二、vmstat

    vmstat可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况等

-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量
-m:显示slabinfo
-n:只在开始时显示一次各字段名称
-s:显示内存相关统计信息及多种系统活动数量
delay:刷新时间间隔。如果不指定,只显示一条结果
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷
-d:显示磁盘相关统计信息
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)
-V:显示vmstat版本信息

    直接使用则只显示一次系统现在的情况,例如

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 575980    952 306180    0    0     1     0   16   27  0  0 100  0  0
procs:
    r:等待运行的进程的个数;
    b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);
memory:
    swpd: 交换内存的使用总量; 
    free:空闲物理内存总量;
    buffer:用于buffer的内存总量;
    cache:用于cache的内存总量;
swap:
    si:数据进入swap中的数据速率(kb/s)
    so:数据离开swap中的数据速率(kb/s)
io:
    bi:从块设备读入数据到系统的速率;(kb/s)
    bo: 保存数据至块设备的速率;
system:
    in: 中断速率;
    cs: 进程切换速率
cpu:
    us:用户使用CPU百分比
    sy:系统使用CPU百分比
    id:空闲CPU使用率
    wa:IO等待时间百分比

    我们可以自动反复采集系统现在的使用情况

[root@localhost ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 576256    952 306160    0    0     1     0   16   27  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0  104  176  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   85  137  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   85  136  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   88  151  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   73  126  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   65  113  0  0 100  0  0
 0  0      0 576280    952 306168    0    0     0     0   69  120  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   79  135  0  0 100  0  0
 0  0      0 576248    952 306168    0    0     0     0   72  124  0  0 100  0  0
 #1表示一秒采集一次系统状态
 #10表示一共采集十次

三、pmap

    pmap命令用于显示一个或多个进程的内存状态

-x extended显示扩展格式
-d device显示设备格式
-q quiet不显示header/footer行
-V 显示版本信息

    后面必须接进程PID,例如

[root@localhost ~]# pmap -x 1250
1250:   /usr/sbin/sshd -D
Address           Kbytes     RSS   Dirty Mode  Mapping
00007f7541c98000      44      20       0 r-x-- libnss_files-2.17.so
00007f7541ca3000    2044       0       0 ----- libnss_files-2.17.so
00007f7541ea2000       4       4       4 r---- libnss_files-2.17.so
00007f7541ea3000       4       4       4 rw--- libnss_files-2.17.so
00007f7541ea4000      24       0       0 rw---   [ anon ]
00007f7541eaa000      28      12       0 r-x-- librt-2.17.so
00007f7541eb1000    2044       0       0 ----- librt-2.17.so
00007f75420b0000       4       4       4 r---- librt-2.17.so
00007f75420b1000       4       4       4 rw--- librt-2.17.so
00007f75420b2000      12       8       0 r-x-- libkeyutils.so.1.5
00007f75420b5000    2044       0       0 ----- libkeyutils.so.1.5
00007f75422b4000       4       4       4 r---- libkeyutils.so.1.5
00007f75422b5000       4       4       4 rw--- libkeyutils.so.1.5
00007f75422b6000      52      16       0 r-x-- libkrb5support.so.0.1
00007f75422c3000    2048       0       0 ----- libkrb5support.so.0.1
00007f75424c3000       4       4       4 r---- libkrb5support.so.0.1
###########################中间太多省略#############################
00007f7546be9000       4       4       4 rw--- libfipscheck.so.1.2.1
00007f7546bea000     132     116       0 r-x-- ld-2.17.so
00007f7546df2000      72      72      72 rw---   [ anon ]
00007f7546e0a000       4       4       4 rw---   [ anon ]
00007f7546e0b000       4       4       4 r---- ld-2.17.so
00007f7546e0c000       4       4       4 rw--- ld-2.17.so
00007f7546e0d000       4       4       4 rw---   [ anon ]
00007f7546e0e000     764     264       0 r-x-- sshd
00007f75470cc000      16      16      16 r---- sshd
00007f75470d0000       4       4       4 rw--- sshd
00007f75470d1000      40      40      40 rw---   [ anon ]
00007f75489a6000     132      72      72 rw---   [ anon ]
00007ffd7441e000     132      20      20 rw---   [ stack ]
00007ffd74547000       8       4       0 r-x--   [ anon ]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- ------- 
total kB           82544    3604     852

 每个字段的意义

Address: 内存开始地址
Kbytes: 占用内存的字节数(KB)
RSS: 保留内存的字节数(KB)
Dirty: 脏页的字节数(包括共享和私有的)(KB)
Mode: 内存的权限:read、write、execute、shared、private (写时复制)
Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
Offset: 文件偏移
Device: 设备名 (major:minor)


四、glances

    非常优秀的一款系统资源查看工具,可以查看 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息

    常用选项

-b: 以Byte为单位显示网卡数据速率;
-d: 关闭磁盘I/O模块;
-f /path/to/somefile: 设定输入文件位置;
-o {HTML|CSV}:输出格式;
-m: 禁用mount模块
-n: 禁用网络模块
-t SECONDS: 延迟时间间隔
-1:每个CPU的相关数据单独显示;
[root@localhost ~]# glances

                                            localhost.localdomain (CentOS Linux 7.2.1511 64bit / Linux 3.10.0-327.el7.x86_64                                             Uptime: 1 day, 0:10:38

CPU       0.6%  steal:    0.0%   Load   4核	 Mem    19.2%  active:    230M   Swap    0.0%
user:     0.3%  nice:     0.0%   1 min:   0.04   total:  993M  inactive:  103M   total: 2.00G
system:   0.2%  iowait:   0.0%   5 min:   0.03   used:   190M  buffers:   952K   used:      0
idle:    99.4%  irq:	  0.0%   15 min:  0.05   free:   803M  cached:    257M   free:  2.00G

网络       Rx/s    Tx/s   Tasks  119 (212 thr),  1 run, 118 slp,  0 oth  自动排序
_1677772    8Kb     3Kb
lo           0b      0b    VIRT   RES  CPU%  MEM%   PID USER        NI S    TIME+ IOR/s IOW/s NAME
                           232M   15M   2.6   1.5  5878 root         0 R  0:01.17     0     0 /usr/bin/python /usr/bin/glances
Disk I/O   In/s   Out/s       0     0   1.0   0.0    13 root         0 S  2:06.50     0     0 rcu_sched
dm-0          0       0       0     0   0.3   0.0    14 root         0 S  1:18.83     0     0 rcuos/0
dm-1          0       0       0     0   0.3   0.0    16 root         0 S  0:05.46     0     0 rcuos/2
fd0           0       0    120M    4M   0.0   0.4     1 root         0 S  0:04.71     0     0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
sda1          0       0       0     0   0.0   0.0     2 root         0 S  0:00.60     0     0 kthreadd
sda2          0       0       0     0   0.0   0.0     3 root         0 S  0:00.46     0     0 ksoftirqd/0
sdb           0       0       0     0   0.0   0.0     5 root	   -20 S  0:00.00     0     0 kworker/0:0H
sdc           0       0       0     0   0.0   0.0     7 root         0 S  0:01.60     0     0 migration/0
sr0           0       0       0     0   0.0   0.0     8 root         0 S  0:00.00     0     0 rcu_bh
                              0     0   0.0   0.0     9 root         0 S  0:00.00     0     0 rcuob/0
Mount      Used   Total       0     0   0.0   0.0    10 root         0 S  0:00.00     0     0 rcuob/1
/         1.86G   17.5G       0     0   0.0   0.0    11 root         0 S  0:00.00     0     0 rcuob/2
/boot      124M    497M       0     0   0.0   0.0    12 root         0 S  0:00.00     0     0 rcuob/3
/run      6.73M    496M       0     0   0.0   0.0    15 root         0 S  0:06.15     0     0 rcuos/1
_/user/0      0   99.3M       0     0   0.0   0.0    17 root         0 S  0:05.51     0     0 rcuos/3
                              0     0   0.0   0.0    18 root         0 S  0:00.47     0     0 watchdog/0
                              0     0   0.0   0.0    19 root         0 S  0:00.56     0     0 watchdog/1
                              0     0   0.0   0.0    20 root         0 S  0:01.53     0     0 migration/1
                              0     0   0.0   0.0    21 root         0 S  0:00.48     0     0 ksoftirqd/1

    状态栏的意义:

VIRT: 虚拟内存大小
RES: 进程占用的物理内存值
%CPU:该进程占用的 CPU 使用率
%MEM:该进程占用的物理内存和总内存的百分比
PID: 进程 ID 号
USER: 进程所有者的用户名
TIME+: 该进程启动后占用的总的 CPU 时间
IO_R 和 IO_W: 进程的读写 I/O 速率
NAME: 进程名称
NI: 进程优先级
S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

    功能键用法:

h : 显示帮助信息
q : 离开程序退出
c :按照 CPU 实时负载对系统进程进行排序
m :按照内存使用状况对系统进程排序
i:按照 I/O 使用状况对系统进程排序
p: 按照进程名称排序
d : 显示磁盘读写状况
w : 删除日志文件
l :显示日志
s: 显示传感器信息
f : 显示系统信息
1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)


五、ps

    ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等

常用选项

a:显示所有进程
-a:显示同一终端下的所有程序
-A:显示所有进程
c:显示进程的真实名称
-N:反向选择
-e:等于“-A”
e:显示环境变量
f:显示程序间的关系
-H:显示树状结构
r:显示当前终端的进程
T:显示当前终端的所有程序
u:指定用户的所有进程
-l: 显示进程名
-C<命令>:列出指定命令的状况
--lines<行数>:每页显示的行数
--width<字符数>:每页显示的字符数
--help:显示帮助信息
--version:显示版本显示

    常用的组合:

[root@localhost ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3 123136  3716 ?        Ss   3月19   0:04 /usr/lib/systemd/systemd --switched-r
root         2  0.0  0.0      0     0 ?        S    3月19   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    3月19   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   3月19   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    3月19   0:01 [migration/0]
#u: 以用户为中心组织进程状态信息显示
#a: 与终端相关的进程;
#x: 与终端无关的进程;
[root@localhost ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 3月19 ?       00:00:04 /usr/lib/systemd/systemd --switched-root --system --des
root         2     0  0 3月19 ?       00:00:00 [kthreadd]
root         3     2  0 3月19 ?       00:00:00 [ksoftirqd/0]
root         5     2  0 3月19 ?       00:00:00 [kworker/0:0H]
root         7     2  0 3月19 ?       00:00:01 [migration/0]
#-e: 显示所有进程
#-f: 显示完整格式程序信息
[root@localhost ~]# ps -eFH
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         2     0  0     0     0   0 3月19 ?       00:00:00 [kthreadd]
root         3     2  0     0     0   0 3月19 ?       00:00:00   [ksoftirqd/0]
root         5     2  0     0     0   0 3月19 ?       00:00:00   [kworker/0:0H]
root         7     2  0     0     0   0 3月19 ?       00:00:01   [migration/0]
root         8     2  0     0     0   0 3月19 ?       00:00:00   [rcu_bh]
root         9     2  0     0     0   0 3月19 ?       00:00:00   [rcuob/0]
root        10     2  0     0     0   0 3月19 ?       00:00:00   [rcuob/1]
#-F: 显示完整格式的进程信息
#-H: 以进程层级格式显示进程相关信息

    可以和grep结合查询指定进程

[root@localhost ~]# ps aux | grep httpd
root      2821  0.0  0.2  70792  2176 ?        Ss   3月19   0:03 /usr/local/apache2.4/bin/httpd
daemon    2822  0.0  0.4 359756  4240 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd
daemon    2823  0.0  0.4 490828  4756 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd
daemon    2824  0.0  0.4 359756  4260 ?        Sl   3月19   0:31 /usr/local/apache2.4/bin/httpd


六、top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况

    top是交互式工具,可使用交互式命令,排序什么的非常方便

top - 10:42:33 up 1 day,  1:11,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 120 total,   3 running, 117 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 28.8/1016816  [||||||||||||||||||||||                                                      ]
KiB Swap:  0.0/2097148  [                                                                            ]

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                           
 5962 root      20   0  146152   1988   1396 R   0.3  0.2   0:00.33 top                               
    1 root      20   0  123136   3716   2388 S   0.0  0.4   0:04.94 systemd                           
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.06 kthreadd                          
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.47 ksoftirqd/0                       
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                      
    7 root      rt   0       0      0      0 S   0.0  0.0   0:01.60 migration/0                       
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                            
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/0                           
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/1                           
   11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/2                           
   12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/3                           
   13 root      20   0       0      0      0 R   0.0  0.0   2:18.79 rcu_sched                         
   14 root      20   0       0      0      0 S   0.0  0.0   1:23.75 rcuos/0                           
   15 root      20   0       0      0      0 S   0.0  0.0   0:06.45 rcuos/1                           
   16 root      20   0       0      0      0 S   0.0  0.0   0:06.16 rcuos/2                           
   17 root      20   0       0      0      0 S   0.0  0.0   0:06.37 rcuos/3                           
   18 root      rt   0       0      0      0 S   0.0  0.0   0:00.48 watchdog/0                        
   19 root      rt   0       0      0      0 S   0.0  0.0   0:00.57 watchdog/1                        
   20 root      rt   0       0      0      0 S   0.0  0.0   0:01.53 migration/1                       
   21 root      20   0       0      0      0 S   0.0  0.0   0:00.48 ksoftirqd/1

    常用的交互命令:【注意如果在命令行中使用了s 选项, 其中一些命令可能会被屏蔽】

h:显示帮助画面,给出一些简短的命令总结说明
i:忽略闲置和僵死进程。这是一个开关式命令。
r:重新安排一个进程的优先级别
S:切换到累计模式
f或者F:从当前显示中添加或者删除项目
o或者O:改变显示项目的顺序
l:切换显示平均负载和启动时间信息
m:切换显示内存信息
t:切换显示进程和CPU状态信息
c:切换显示命令名称和完整命令行
M:根据驻留内存大小进行排序#注意是大写
P:根据CPU使用百分比大小进行排序#注意是大写
T:根据时间/累计时间进行排序
W:将当前设置写入~/.toprc文件中
q:退出
s:修改刷新时间间隔#默认为三秒
k:终止指定进程

    各字段的详细意义

PID:进程id
USER:进程所有者
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:CPU占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)


七、htop

    htop跟top类似,但是比top更强大,可支持鼠标操作,需要哪里点哪里

    界面如下

Centos常用的进程管理和资源查看工具_第1张图片

    htop中常用的指令

F1:查看htop使用说明
F2:设置
F3:搜索进程
F4:过滤器,按关键字搜索
F5:显示树形结构
F6:选择排序方式
F7:减少nice值,这样就可以提高对应进程的优先级
F8:增加nice值,这样可以降低对应进程的优先级
F9:杀掉选中的进程
F10:退出htop

/:搜索字符
h:显示帮助
l:显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
u:显示所有用户,并可以选择某一特定用户的进程
s:将调用strace追踪进程的系统调用
t:显示树形结构

H:显示/隐藏用户线程
I:倒转排序顺序
K:显示/隐藏内核线程    
M:按内存占用排序
P:CPU排序    
T:按运行时间排序

上下键或PgUP, PgDn:移动选中进程
左右键或Home, End:移动列表    
Space(空格):标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程

    上面这些内容在F1中也可以查看

Centos常用的进程管理和资源查看工具_第2张图片

    按t像pstree一样显示树状结构图

Centos常用的进程管理和资源查看工具_第3张图片


八、dstat

    dstat是类似于vmstat的工具,但是比vmstat更强大更好用默认每秒收集一次信息,按ctrl+c退出

    界面如下

    各字段代表的意义

       

#cpu#:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。
#dsk#:磁盘的读写操作,这一栏显示磁盘的读、写总数。
#net#:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。
#paging#:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。
#system#:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。


    dstat后面也可以接选项:

-c: 显示cpu相关信息;
-d: 显示disk相关信息;
-g:显示page相关统计数据;
-m: 显示memory相关统计数据;
-n: 显示network相关统计数据;
-p: 显示process相关统计数据;
-r: 显示io请求相关的统计数据;
-s: 显示swapped相关的统计数据;
--tcp:显示tcp相关信息
--udp:显示udp相关信息
[root@localhost ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
  0   0 100   0   0   0
  0   0 100   0   0   0
[root@localhost ~]# dstat -d
-dsk/total-
 read  writ
2298B 1844B
   0     0 
   0     0
[root@localhost ~]# dstat -m
------memory-usage-----
 used  buff  cach  free
 187M  952k  260M  545M
 187M  952k  260M  545M
 187M  952k  260M  545M
[root@localhost ~]# dstat --tcp
----tcp-sockets----
lis act syn tim clo
  5   1   0   0   0
  5   1   0   0   0
  5   1   0   0   0
[root@localhost ~]# dstat --udp
--udp--
lis act
  0   0
  0   0
  0   0



最后

    可以看出Centos对资源进行观察的工具是非常丰富的,只要能善用工具就能非常方面的找到系统中存在的问题进行优化。



你可能感兴趣的:(vmstat,pmap,pstree)