CentOS系统资源监控软件四大软件htop,top,ps,dstat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS系统资源监控软件四大软件htop,top,ps,dstat相关的知识,希望对你有一定的参考价值。


CentOS系统资源监控软件四大软件

一、进程信息

    关于进程的基础知识,用图来显示技术分享

二、ps命令

    ps -报告系统进程运行时状态。

    ps [选项]:

选项有三种风格:风格不一样写法不一样,有的加-,有的不加,比较特殊。

     UNIX 风格选项, 可以组团选择,但必须以“-”开头

     BSD 风格选项, 可以组团选择,但不能以“-”开头

     GNU 风格选项, 必须以两个“-”开头

选项1:BSD风格选项

    a:所有与终端相关的进程;

    x:所有与终端无关的进程;

    u:以用户为中心组织进程状态信息显示;

常用组合之一:aux

# ps aux 
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19364  1588 ?        Ss   Mar28   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Mar28   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Mar28   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    Mar28   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    Mar28   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    Mar28   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    Mar28   0:37 [events/0]
root          8  0.0  0.0      0     0 ?        S    Mar28   0:00 [cgroup]
root          9  0.0  0.0      0     0 ?        S    Mar28   0:00 [khelper]
 ... ...

显示结果字段:

    %CPU:累计CPU时间比例;

    %MEM:占总内存比例;

    VSZ:虚拟内存集;

    RSS:Resident Size,常驻内存集;不能被放到交换内存上的部分。

    STAT:BSD风格

        R:running or runnable

        S:interruptable sleeping

        D:uninterruptable sleeping

        T:Stopped

        Z:zombie

        +:前台进程

        l:多线程进程

        N:低优先级进程

        <:高优先级进程

        s:session leader 会话主导进程

选项2:unix风格

    -e:显示所有进程

    -f:显示完整格式的进程信息

    -F:显示完整格式的进程信息;

   -H:以层级结构显示进程的相关信息;

    常用组合之二:-ef       

# ps -eF|head -10
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root          1      0  0  4841  1588   0 Mar28 ?        00:00:01 /sbin/init
root          2      0  0     0     0   0 Mar28 ?        00:00:00 [kthreadd]
root          3      2  0     0     0   0 Mar28 ?        00:00:00 [migration/0]
root          4      2  0     0     0   0 Mar28 ?        00:00:00 [ksoftirqd/0]
root          5      2  0     0     0   0 Mar28 ?        00:00:00 [stopper/0]
root          6      2  0     0     0   0 Mar28 ?        00:00:00 [watchdog/0]
root          7      2  0     0     0   0 Mar28 ?        00:00:37 [events/0]
root          8      2  0     0     0   0 Mar28 ?        00:00:00 [cgroup]
root          9      2  0     0     0   0 Mar28 ?        00:00:00 [khelper]

    显示结果字段分析

        PSR:运行于哪颗CPU之上

        C:cpu utilization

        stime:启动时间

        time:总时间

常用组合之三:-eFH

# ps -eFH |head -3
UID   PID   PPID  C    SZ   RSS PSR STIME TTY   TIME     CMD
root  2     0    0     0   0  0   3月22 ?    00:00:00 [kthreadd]
root  3     2    0     0   0  0   3月22 ?    00:00:10 [ksoftirqd/0]



常用组合之四:-eo, axo

    -o  field1, field2,...:自定义要显示的字段列表,以逗号分隔;

常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio

    ni:nice值;

    priority:priority, 优先级;

    rtprio:real time priority,实时优先级;

# ps -eo pid,ppid,ni,priority,comm|head -10
   PID   PPID  NI PRI COMMAND
     1      0   0  20 init
     2      0   0  20 kthreadd
     3      2   - -100 migration/0
     4      2   0  20 ksoftirqd/0
     5      2   - -100 stopper/0
     6      2   - -100 watchdog/0
     7      2   0  20 events/0
     8      2   0  20 cgroup
     9      2   0  20 khelper

三、top命令:

    top - display Linux tasks,动态排序的,默认以CPU排序

# top -n 1 -d 3
top - 06:38:09 up 11:19,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 149 total,   1 running, 148 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.0%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1004348k total,   901860k used,   102488k free,    54220k buffers
Swap:  2031612k total,        0k used,  2031612k free,   631540k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                  
     1 root      20   0 19364 1588 1268 S  0.0  0.2   0:01.95 init                      
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd                  
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0               
     4 root      20   0     0    0    0 S  0.0  0.0   0:00.30 ksoftirqd/0               
     5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0                 
     6 root      RT   0     0    0    0 S  0.0  0.0   0:00.33 watchdog/0                
     7 root      20   0     0    0    0 S  0.0  0.0   0:38.21 events/0                  
     8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                    
     9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper                   
    10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns                     
    11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr                 
    12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm

top - 21:25:19 up 2 days, 11:38, 

 2 users,                                   # 在线用户

load average: 0.00, 0.00, 0.00         # 等待运行队列长度,长期单个CPU超过3,表明CPU不够用了

Tasks: 136 total, 

    1 running, 135 sleeping,   0 stopped,   0 zombie

Cpu(s): 

    0.0%us, #用户空间

    0.3%sy, #系统空间

    0.0%ni,  #优先级用户运行比例

    99.7%id, #空闲百分比

    0.0%wa,  #等待I/O时间

    0.0%hi,  #硬件中断时间

    0.0%si,  #软件中断时间

    0.0%st   #被偷走的时间---虚拟化偷走CPU时间

Mem:   1004348k total,   679264k used,   325084k free,   143004k buffers

Swap:  2031612k total,        0k used,  2031612k free,   222668k cached

首部信息调整:

        uptime信息:l键开启或关闭显示

        tasks及cpu信息:t键调整显示

        内存信息:m键调整显示

        CPU信息分CPU显示:1键开启或关闭显示

修改刷新时间间隔:秒为单位,默认为3s

终止指定的进程:k

退出命令:q


选项:

    -d #:指定刷新时间间隔,默认为3秒;怎么退出?q

    -b:以批次方式显示;

    -n #:显示多少批次;

四、htop命令

    top升级版,方便好用的top,额外安装

选项:

    -d #:指定延迟时间间隔;

    -u UserName:仅显示指定用户的进程;

    -s COLUME:以指定字段进行排序;

子命令:

    l:显示选定的进程打开的文件列表;

    s:跟踪选定的进程的系统调用;

    t:以层级关系显示各进程状态;

    a:将选定的进程绑定至某指定的CPU核心;

技术分享

dstat命令:集大成的资源监控原件

- versatile tool for generating system resource statistics

dstat [-afv] [options..] [delay [count]]

常用选项:

    -c, --cpu:显示cpu相关信息;

    -C #,#,...,total:显示CPU某个核心的相关信息

    -d, --disk:显示磁盘的相关信息

    -D sda,sdb,...,tobal

    -g:显示page相关的速率数据;

    -m:Memory的相关统计数据

    -n:Interface的相关统计数据;

    -p:显示process的相关统计数据;

    -r:显示io请求的相关的统计数据;

    -s:显示swapped的相关统计数据;

    --tcp 

    --udp

    --raw 

    --socket 

    --ipc 

    --top-cpu:显示最占用CPU的进程;

    --top-io:最占用io的进程;

    --top-mem:最占用内存的进程;

    --top-lantency:延迟最大的进程;

    # dstat -dmnrs

    -dsk/total- ------memory-usage----- -net/total- --io/total- ----swap---

     read  writ| used  buff  cach  free| recv  send| read  writ| used  free

    5891B   18k| 273M    0   577M  128M|   0     0 |0.25  0.60 |1176k 1023M

技术分享

本文出自 “君临城” 博客,请务必保留此出处http://kingslanding.blog.51cto.com/9130940/1758210

以上是关于CentOS系统资源监控软件四大软件htop,top,ps,dstat的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统监控与进程管理软件—Htop取代top

htop增加显示io利用率

CentOS7常用安装软件列表

CentOS EPEL yum源

三种系统监控工具对比:top vs Htop vs Glances

讲清楚,说明白!资源管理三板斧之--htopvmstatdstat