安装

atop是一个功能强大的linux服务器监控工具,它支持收集和显示CPU,内存,磁盘,网络,进程等资源的相关信息,负载比较大的资源信息会以特别的颜色显示, 可以作为系统管理的辅助工具使用。

atop提供sysv和systemd两种类型的rpm包,这里在CentOS7上选择atop-2.2-3.systemd.x86_64.rpm

安装成功后,会将atopacct服务默认开机启动,因为这里只是想把atop作为辅助工具使用,所以这里停止并禁用atopacct服务:

1systemctl disable atopacct
2systemctl disable atop
3systemctl stop atopacct
4systemctl stop atop

使用

直接运行atop 5可每隔5秒显示系统资源信息:

 1ATOP - cent0              2017/02/06  19:34:08              -------------               5s elapsed
 2PRC | sys    0.19s |  user   0.26s | #proc    158 |  #tslpu     0 | #zombie    0 |  #exit     0 |
 3CPU | sys       5% |  user      7% | irq       0% |  idle    187% | wait      0% |  curscal   ?% |
 4cpu | sys       3% |  user      3% | irq       0% |  idle     94% | cpu001 w  0% |  curscal   ?% |
 5cpu | sys       2% |  user      4% | irq       0% |  idle     94% | cpu000 w  0% |  curscal   ?% |
 6CPL | avg1    1.04 |  avg5    0.49 | avg15   0.35 |  csw     5270 | intr    2978 |  numcpu     2 |
 7MEM | tot     1.8G |  free   93.1M | cache 823.2M |  buff    1.0M | slab  269.3M |  hptot   0.0M |
 8SWP | tot     2.0G |  free    2.0G |              |               | vmcom   3.9G |  vmlim   2.9G |
 9LVM |  system-root |  busy      1% | read       0 |  write     16 | MBw/s    0.0 |  avio 1.50 ms |
10DSK |          sda |  busy      1% | read       0 |  write     24 | MBw/s    0.0 |  avio 1.00 ms |
11NET | transport    |  tcpi     119 | tcpo     120 |  udpi       0 | udpo       0 |  tcpao      5 |
12NET | network      |  ipi      119 | ipo      119 |  ipfrw      0 | deliv    119 |  icmpo      0 |
13NET | enp0s8    0% |  sp 1000 Mbps | pcki       5 |  pcko       6 | si    1 Kbps |  so   17 Kbps |
14NET | vethdbb   0% |  sp   10 Gbps | pcki      23 |  pcko      23 | si   10 Kbps |  so    8 Kbps |
15NET | vethabf   0% |  sp   10 Gbps | pcki       6 |  pcko       6 | si    2 Kbps |  so    1 Kbps |
16NET | lo      ---- |  sp    0 Mbps | pcki      85 |  pcko      85 | si  101 Kbps |  so  101 Kbps |
17NET | cni0    ---- |  sp    0 Mbps | pcki      29 |  pcko      29 | si   12 Kbps |  so   10 Kbps |
18
19   PID    TID  THR SYSCPU USRCPU   VGROW  RGROW  RDDSK  WRDSK ST  EXC S CPUNR  CPU CMD        1/22
20  2115      -   22  0.05s  0.10s      0K     0K     0K     0K --    - S     0   5% kubelet
21   933      -   66  0.00s  0.07s      0K     0K     0K     0K --    - S     0   2% dockerd
22......

下边简单介绍输出的每行数据信息:

ATOP行显示服务器的主机名、当前时间以及信息收集的频率。

1ATOP - cent0              2017/02/06  19:34:08              -------------               5s elapsed

PRC行显示系统进程相关汇总信息:

  • sys 采样周期内所有进程在系统态运行时间总和
  • user 采样周期内所有进程在用户态运行时间综合
  • #proc 采样周期内进程总数
  • #tslpu 采样周期内处于不可中断的睡眠状态的进程数
  • #zombie 采样周期内僵死状态进程数
  • #exit 采样周期内退出的进程数
1PRC | sys    0.19s |  user   0.26s | #proc    158 |  #tslpu     0 | #zombie    0 |  #exit     0 |

CPU行显示服务器CPU利用率汇总信息,各个cpu行显示各个cpu核上利用率汇总信息:

  • sys 采样周期内CPU处于系统态的利用率
  • user 采样周期内CPU处于用户态的利用率
  • idle 采样周期内CPU处于空闲状态的比例
1CPU | sys       5% |  user      7% | irq       0% |  idle    187% | wait      0% |  curscal   ?% |
2cpu | sys       3% |  user      3% | irq       0% |  idle     94% | cpu001 w  0% |  curscal   ?% |
3cpu | sys       2% |  user      4% | irq       0% |  idle     94% | cpu000 w  0% |  curscal   ?% |

CPL行显示CPU负载信息:

  • avg1 过去1分钟进程等待队列数
  • avg5 过去5分钟进程等待队列数
  • avg15 过去15分钟进程等待队列数
  • csw(context swapping) 上下文交换次数
  • intr(interrupt) 中断发生的次数
  • numcpu cpu的核数
1CPL | avg1    1.04 |  avg5    0.49 | avg15   0.35 |  csw     5270 | intr    2978 |  numcpu     2 |

MEM行显示内存使用信息:

  • tot 物理内存总量
  • free 空闲内存大小,不包含cache和buffer的内存
  • cache 用于页缓存的内存大小
  • buff 用于文件缓存的内存大小
  • slab 系统内核占用的内存大小
1MEM | tot     1.8G |  free   93.1M | cache 823.2M |  buff    1.0M | slab  269.3M |  hptot   0.0M |

SWP行显示交换空间使用情况:

1SWP | tot     2.0G |  free    2.0G |              |               | vmcom   3.9G |  vmlim   2.9G |

LVM,DSK行显示磁盘逻辑卷和分区使用情况:

  • busy 磁盘忙时所占比例
  • read KiB/r 、MBr/s 每秒读的请求数和请求的kb、mb数
  • write KiB/w 、MBr/w 每秒写的请求数和请求的kb、mb数
  • avio 磁盘的平均io时间
1LVM |  system-root |  busy      1% | read       0 |  write     16 | MBw/s    0.0 |  avio 1.50 ms |
2DSK |          sda |  busy      1% | read       0 |  write     24 | MBw/s    0.0 |  avio 1.00 ms |

NET 显示传输层、网络层、各个网络接口的网络传输信息

  • sp 网卡的带宽
  • pcki 传入的数据包的大小
  • pcko 传出的数据包的大小
  • si 每秒传入的数据大小
  • so 每秒传出的数据大小
  • coll 每秒的冲突数
  • mlti 每秒的多路广播的数量
  • erri/erro 每秒输入输出的错误数
  • drpi/drpo 每秒的输入输出的丢包数
1NET | transport    |  tcpi     119 | tcpo     120 |  udpi       0 | udpo       0 |  tcpao      5 |
2NET | network      |  ipi      119 | ipo      119 |  ipfrw      0 | deliv    119 |  icmpo      0 |
3NET | enp0s8    0% |  sp 1000 Mbps | pcki       5 |  pcko       6 | si    1 Kbps |  so   17 Kbps |
4NET | lo      ---- |  sp    0 Mbps | pcki      85 |  pcko      85 | si  101 Kbps |  so  101 Kbps |

最下边显示的各进程的具体信息,可输入m(内存)、p(进程)、u(用户)、d(磁盘)、c(进程运行的代码)、v(线程)切换显示模式,不同模式下的显示信息这里不再展开,可使用 man atop查看atop的手册。

1   PID    TID  THR SYSCPU USRCPU   VGROW  RGROW  RDDSK  WRDSK ST  EXC S CPUNR  CPU CMD        1/22
2  2115      -   22  0.05s  0.10s      0K     0K     0K     0K --    - S     0   5% kubelet
3   933      -   66  0.00s  0.07s      0K     0K     0K     0K --    - S     0   2% dockerd