top,htop,ps,dstat命令的使用

top

top是一个动态显示过程,即可跟据用户的按键不断刷新当前状态,top命令提供了实时的对当前系统的状态监视。

top - 11:53:40 up 11 days, 13:32,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 179 total,   1 running, 178 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.8 us,  0.7 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1880328 total,   203168 free,   151380 used,  1525780 buff/cache
KiB Swap:  2097148 total,  2097044 free,      104 used.  1389256 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                         
30624 root      20   0  250396  21912   4680 S   3.0  1.2   8:43.05 /usr/bin/python /usr/bin/glances -o HTML -f /usr/local/nginx/html                                               
    1 root      20   0  134164  14168   3116 S   0.0  0.8   2:12.55 /usr/lib/systemd/systemd --switched-root --system --deserialize 20                                              
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.20 [kthreadd]  
...

一、top前五行信息

统计信息区前五行是系统整体的统计信息。

  • 第一行是任务队列信息

同uptime命令的执行结果:

[root@localhost ~]#uptime
 11:59:37 up 11 days, 13:38,  3 users,  load average: 0.00, 0.01, 0.05

其内容如下:

  1. 11:59:37 #当前系统的时间

  2. up 11 days, 13:38 #系统的运行的时间

  3. 3 users #当前的登陆的用户

  4. load average: 0.00, 0.01, 0.05 #系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

  • 第二、三行是进程和cpu的信息

  1. Tasks: 179 total #进程总数

  2. 1 running #正在运行的进程数

  3. 178 sleeping #睡眠的进程数

  4. 0 stopped #停止的进程书

  5. 0 zombie #僵尸进程

  6. 0.8 us #用户空间占有cpu百分比

  7. 0.7 sy #内核空间占用cpu百分比

  8. 0.0 ni #用户进程空间nice切换进程优先级占用的cpu百分比

  9. 98.5 id #空闲的cpu百分比

  10. 0.0 wa #等待输入输出的cpu时间百分比

  11. 0.0 hi #硬件io占用cpu的百分比

  12. 0.0 si #软件io占用的cpu百分比

  13. 0.0 st #被虚拟化程序偷走的cpu百分比

  • 第四、五行为内存信息

KiB Mem :

  1. 1880328 total #物理内存总量

  2. 203168 free #空闲物理内存的总量

  3. 151380 used #使用的物理内存总量

  4. 1525780 buff/cache #用作内核缓存缓冲的内存量

KiB Swap:

  1. 2097148 total #交换区总量

  2. 2097044 free #交换区空闲总量

  3. 104 used #使用的交换区总量

  4. 1389256 avail Mem #实际可用的内存总量

二、进程信息

  1. PID #进程id

  2. USER #进程所有者的用户名

  3. PR #优先级

  4. NI #nice值,负值表示高优先级,正值表示低优先级

  5. VIRT #进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

  6. RES #进程使用的、未被换出的物理内存,单位kb。RES=CODE+DATA

  7. CODE #可执行代码占用的物理内存大小,单位kb

  8. DATA #可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

  9. SHR #共享内存大小,单位kb

  10. S #进程状态

  11. %CPU #上次更新到现在的CPU时间占用百分比

  12. %MEM #进程使用的物理内存百分比

  13. TIME+ #进程使用的CPU时间总计,单位1/100秒

  14. COMMAND #命令名/命令行

三、进程状态信息

  1. D:不可中断的睡眠

  2. R:运行或就绪

  3. S:可中断的睡眠

  4. T:停止

  5. Z:僵死

  6. <:高优先级进程

  7. N:低优先级进程

  8. +:前台进程组中的进程

  9. l:多线程进程

  10. s:会话进程首进程

四、top指令 top

  1. M:根据驻留内存大小进行排序

  2. P:根据cpu使用百分比排序

  3. T:根据累计时间进行排序

  4. l:是否显示平均负载和启动时间

  5. t:是否显示进程和cpu状态相关信息

  6. m:是否显示内存相关信息

  7. c:是否显示完整的命令行信息

  8. q:退出top

  9. k:终止某个进程

top选项

  1. -d:刷新时长

  2. -b:刷屏显示

  3. -m:显示几屏

htop

我们了解了top命令的使用,但是还有一个比传统top更加功能强大的htop命令,它有更加强大的功能及能显示更多的信息。

CPU[                                                   0.0%]     Tasks: 27, 30 thr; 2 running
  Mem[||||||||||||||||||||||||||||||||||            227/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:17:58

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  57474 root       20   0  117M  2212  1416 R  0.5  0.2  0:00.53 htop
   1370 root       20   0  540M 16360  5728 S  0.0  1.6  0:38.55 /usr/bin/python -Es /usr/sbin/tuned -l -P
  42295 root       20   0  137M  5136  3868 S  0.5  0.5  0:00.43 sshd: root@pts/0,pts/1
  ...

显示的内容更top相似,那我们来了解下htop更强大的功能:

  • htop支持鼠标操作

  • htop可以定制化显示内容

CPU[|                                                  0.4%]     Tas[|                                                 2/385]
  Mem[||||||||||||||||||||||||||||||||||            230/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:32:24

   PPID START     PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
   1131 00:51    1146 root       20   0  454M 20876 10760 S  0.0  2.1  0:10.80 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1153 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.00 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1184 root       20   0  454M 20876 10760 S  0.0  2.1  0:19.32 /usr/bin/docker-current daemon --selinux-enabled
   1131 Feb06    1267 root       20   0  454M 20876 10760 S  0.0  2.1  0:07.20 /usr/bin/docker-current daemon --selinux-enabled
   1131 Feb06    1273 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.02 /usr/bin/docker-current daemon --selinux-enabled
   1131 00:51    1335 root       20   0  454M 20876 10760 S  0.0  2.1  0:00.00 /usr/bin/docker-current daemon --selinux-enabled
  • htop可以查找或过滤要查找显示的内容

CPU[                                                   0.0%]     Tas[|                                                 2/385]
  Mem[||||||||||||||||||||||||||||||||||            230/977MB]     Load average: 0.00 0.01 0.05 
  Swp[                                               0/2047MB]     Uptime: 4 days, 15:34:20

   PPID START     PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command      
   1 Feb06    1129 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:08.34 ├─ /usr/sbin/grafana-server --config=/etc/grafana/gr      
   1 00:51   26605 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.00 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51   14594 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.25 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1232 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:01.90 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1203 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.02 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana      
   1 00:51    1143 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.00 │  ├─ /usr/sbin/grafana-server --config=/etc/grafana     
    1 00:51    1140 grafana    20   0  407M 15116  8352 S  0.0  1.5  0:00.39 │  └─ /usr/sbin/grafana-server --config=/etc/grafana

ps

查看进程快照

ps 有两种风格的命令:

SysV风格:以-开头

BSD风格:不需要-

常见的组合:

BSD风格:

  • a:所有与终端有关的进程

  • u:以用户为中心,进行显示

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

  • o:自定义显示的字段

o后面常见的字段有:

  • pid:进程的id

  • ni:nice值

  • pri:优先级

  • psr: 进程分配到那个cpu

  • stat: 进程的状态

  • tty: 显示终端

  • comm: 显示命令

  • ppid:显示父进程

  • rtprio: 实时优先级

SysV风格:

  • -e: 显示所有进程

  • -f: 显示进程间关系

  • -o: 自定义显示字段

datst

收集系统信息

  • -c, –cpu: 显示cpu相关信息

  • -C #,#…total

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

  • -D sda,sdb…total

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

  • -m:memory的相关统计数据

  • -n:interface的相关统计数据

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

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

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

  • –tcp:显示tcp信息

  • –udp:显示udp信息

  • –raw:显示裸套接字信息

  • –socket:显示socket信息

  • –ipc:显示进程间通信信息

  • –top-cpu:显示最占cpu的进程

  • –top-io:最占用io的进程

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

  • –top-latency:延迟最大的进程

原创文章,作者:N25_随心,如若转载,请注明出处:http://www.178linux.com/68719

(0)
N25_随心N25_随心
上一篇 2017-03-15 19:09
下一篇 2017-03-15 19:09

相关推荐

  • 日志管理

    日志管理学习笔记

    2018-02-08
  • 第二周作业

    # 第二周作业 ##1.文件管理类命令 ###cp   复制 * 单元复制 如果目标文件不存在,会自动创建 如果已经存在,会覆盖 * 多源复制 目标必须是目录,分别复制每个文件至目标目录中,并保持原名 > -i: 交互提醒 > -f: 强制覆盖,不交互 > -r: 递归复制目录 > -d: 如果复制的是符号链接,不找源文件,…

    Linux干货 2016-12-09
  • N22-冥界之王-第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       在虚拟机里新添加一块磁盘20G,/dev/sdb     &…

    Linux干货 2016-09-26
  • iptables实验1

    Iptables 实验1 基于状态放行telnet, ftp, ssh, http, samba, icmp等服务; (1) 对本机的ping请求每分钟不得超出20个; (2) 每客户端对本机的ssh的并发连接数不得超过3个; (3) 本机的telnet服务仅允许工作时间内访问; 本机IP地址192.168.42.113 下面我们先放行所有入站状态为ESTA…

    Linux干货 2016-10-24
  • 第四天作业

    1 、创建 用户gentoo ,附加组为bin 和root ,默认shell为/bin/csh ,注释信息为"Gentoo Distribution" 1 useradd -G bin,root -s /bin/csh -c "Gentoo Distribut…

    Linux干货 2016-08-04
  • 马哥教育网络班20期+第一周课程练习

    一、计算机的组成及其功能。 计算机是由几个单元所组成,输入单元,输出单元,运算器,控制器,存储器,5大单元组成  1、运算器 又称运算器又称算术逻辑单元,它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。 2、控制器 负责从存储器中取出指令,并对指令进行译码;根据指令的要求,按时间的先后顺序…

    Linux干货 2016-06-23

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-30 14:07

    不错,总结归纳的非常好,这样对比归纳记忆将会更有利于长时间记忆。