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
下一篇 2017-03-15

相关推荐

  • 文件权限管理–详解

    进程安全上下文 进程安全上下文:     进程对文件访问权限应用模型     进程的属主与文件的属主是否相同,如果相同则运行属主权限     进程的属主与文件的属主不相同,对比属组权限是否相同,相同则应用属组权限   &…

    Linux干货 2016-08-04
  • DNS简单概念 一

    DNS简单概念 一 DNS简单概念 一 1 §·主机角色 1 §·DNS服务器的类型: 1 §·DNS中简单术语 2 §·DNS中资源记录及其类型 2 §·DNS域与区域 4 §·BIND安全设置 5 §·BIND高级设置BIND VIEW 6   §·主机角色 在网络上不同的主机有不同的角色, 比如: DNS解析角色,邮件角色,网页服务器 §·D…

    Linux干货 2016-09-26
  • Linux终端的类型

    Linux终端可以分为如下几种类型    1、物理终端:是指通过键盘显示器直接连接到主机的方式,我们也称之为console端。    2、虚拟终端:是利用软件的方式模拟实现类似物理终端的访问方式,通常Linux内核开启6个虚拟终端,分别使用Ctrl+Alt+F1~F6实现不同tty虚拟终端之间的切换,供多用户或者多任务…

    Linux干货 2016-10-29
  • 计算机构成与Linux基础知识之一

    简述计算机构成,Linux如何诞生及主流发行版;简单命令介绍;如何获取帮助及Linux目录命名及功用简介绍。

    2018-02-26
  • 程序包管理

    Windows与Linux不兼容 库级别虚拟化: Linux:WINE Windows:Cygwin   程序包管理器: debian:deb,dpt redhat:rpm,rpm   Archlinux Gentoo   获取rpm程序包的途径: 1、系统发行版光盘或官方的服务器 centos镜像: http://mirror…

    Linux干货 2018-01-04
  • Linux命令的别名与管道命令的详解

    Linux中命令的别名与管道命令的详解 命令别名 在使用和维护liunx时,将会使用大量的命令,而一些命令加上参数时输入比较繁琐,此时我们可以定义一个别名来代替繁琐的命令。 系统定义的别名 可以输入 alias 命令查看系统中已经定义好的命令的别名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干货 2018-03-03

评论列表(1条)

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

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