开源是一种精神,分享是一种美德!

atop

相关命令:htop
atop简介

本文要介绍的atop就是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,我们可获取相应的atop日志文件进行分析。atop是一款开源软件,我们可以从这里获得其源码和rpm安装包。

一,atop使用方法

在安装atop之后,我们在命令行下敲入”atop"命令即可看到系统当前的运行情况:

PRC | sys    0.09s  | user   0.23s | #proc    187  | #tslpi   247 |  #tslpu     0 | #zombie    0 |  #exit      2 |
CPU | sys       1%  | user      2% | irq       0%  | idle    397% |  wait      0% | curf  800MHz |  curscal  22% |
cpu | sys       1%  | user      1% | irq       0%  | idle     98% |  cpu000 w  0% | curf  800MHz |  curscal  22% |
cpu | sys       0%  | user      0% | irq       0%  | idle    100% |  cpu003 w  0% | curf  800MHz |  curscal  22% |
cpu | sys       0%  | user      0% | irq       0%  | idle    100% |  cpu002 w  0% | curf  800MHz |  curscal  22% |
cpu | sys       0%  | user      0% | irq       0%  | idle    100% |  cpu001 w  0% | curf  800MHz |  curscal  22% |
CPL | avg1    0.04  | avg5    0.03 | avg15   0.00  | csw     3087 |  intr    1631 |              |  numcpu     4 |
MEM | tot     7.7G  | free    2.3G | cache   3.2G  | dirty   0.0M |  buff  619.0M | slab  563.9M |               |
SWP | tot     7.9G  | free    7.9G |               |              |               | vmcom   2.7G |  vmlim  11.7G |
DSK |          sda  | busy      0% | read       0  | write      2 |  MBr/s   0.00 | MBw/s   0.00 |  avio 6.00 ms |
NET | transport     | tcpi     226 | tcpo     251  | udpi      14 |  udpo      14 | tcpao      0 |  tcppo      0 |
NET | network       | ipi      243 | ipo      266  | ipfrw      0 |  deliv    243 | icmpi      0 |  icmpo      0 |
NET | enp1s0    0%  | pcki     138 | pcko     138  | si   11 Kbps |  so  136 Kbps | erri       0 |  erro       0 |
NET | lo      ----  | pcki     128 | pcko     128  | si   47 Kbps |  so   47 Kbps | erri       0 |  erro       0 |


  PID RUID     EUID       THR  SYSCPU   USRCPU  VGROW   RGROW  RDDSK   WRDSK ST  EXC S  CPUNR  CPU CMD         1/2
27916 root     root         1   0.03s    0.12s     0K      0K     0K      0K --    - R      0   2% atop
 7426 redis    redis        2   0.01s    0.02s     0K      0K     0K      0K --    - S      0   0% [celeryd: cele
 1486 lightdm  lightdm      3   0.01s    0.02s    72K      0K     0K      0K --    - S      0   0% pulseaudio
 7425 root     root         2   0.00s    0.02s     0K      0K     0K      0K --    - S      0   0% [celery beat]
 1070 redis    redis        3   0.01s    0.01s     0K      0K     0K      0K --    - S      1   0% redis-server
  937 root     root         3   0.00s    0.01s     0K      0K     0K      0K --    - S      2   0% polkitd
32037 redis    redis        2   0.00s    0.01s     0K      0K     0K      0K --    - S      2   0% [celeryd: cele
 1374 lightdm  lightdm      5   0.00s    0.01s     0K      0K     0K      0K --    - S      0   0% unity-greeter
    1 root     root         1   0.00s    0.01s     0K      0K     0K      0K --    - S      1   0% systemd
  271 root     root         1   0.01s    0.00s     0K      0K     0K      0K --    - S      2   0% systemd-journa
19004 www-data www-data     1   0.01s    0.00s     0K      0K     0K      0K --    - S      2   0% nginx
    8 root     root         1   0.01s    0.00s     0K      0K     0K      0K --    - I      3   0% rcu_sched
 4088 postgres postgres     1   0.00s    0.00s     0K      0K     0K      0K --    - S      3   0% postgres
 7403 root     root         1   0.00s    0.00s     0K      0K     0K      0K --    - S      0   0% supervisord
 1429 lightdm  lightdm      3   0.00s    0.00s     0K      0K     0K      0K --    - S      0   0% indicator-appl
21183 root     root         3   0.00s    0.00s     0K      0K     0K      0K --    - S      3   0% cups-browsed
  777 root     root         2   0.00s    0.00s     0K      0K     0K      0K --    - S      0   0% thermald
  759 messageb messageb     1   0.00s    0.00s     0K      0K     0K      0K --    - S      1   0% dbus-daemon
27011 test     test         1   0.00s    0.00s     0K      0K     0K      0K --    - S      0   0% sshd
  776 avahi    avahi        1   0.00s    0.00s     0K      0K     0K      0K --    - S      1   0% avahi-daemon
 1373 lightdm  lightdm      1   0.00s    0.00s     0K      0K     0K      0K --    - S      2   0% dbus-daemon



二,监控字段的含义

ATOP列:该列显示了主机名、信息采样日期和时间点


PRC列:该列显示进程整体运行情况

sys、usr字段分别指示进程在内核态和用户态的运行时间
#proc字段指示进程总数
#zombie字段指示僵死进程的数量
#exit字段指示atop采样周期期间退出的进程数量

CPU列:该列显示CPU整体(即多核CPU作为一个整体CPU资源)的使用情况,我们知道CPU可被用于执行进程、处理中断,也可处于空闲状态(空闲状态分两种,一种是活动进程等待磁盘IO导致CPU空闲,另一种是完全空闲)

sys、usr字段指示CPU被用于处理进程时,进程在内核态、用户态所占CPU的时间比例
irq字段指示CPU被用于处理中断的时间比例
idle字段指示CPU处在完全空闲状态的时间比例
wait字段指示CPU处在“进程等待磁盘IO导致CPU空闲”状态的时间比例
CPU列各个字段指示值相加结果为N00%,其中N为cpu核数。
cpu列:该列显示某一核cpu的使用情况,各字段含义可参照CPU列,各字段值相加结果为100%

CPL列:该列显示CPU负载情况

avg1、avg5和avg15字段:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量
csw字段指示上下文交换次数
intr字段指示中断发生次数

MEM列:该列指示内存的使用情况

tot字段指示物理内存总量
free字段指示空闲内存的大小
cache字段指示用于页缓存的内存大小
buff字段指示用于文件缓存的内存大小
slab字段指示系统内核占用的内存大小

SWP列:该列指示交换空间的使用情况

tot字段指示交换区总量
free字段指示空闲交换空间大小

PAG列:该列指示虚拟内存分页情况

swin、swout字段:换入和换出内存页数

DSK列:该列指示磁盘使用情况,每一个磁盘设备对应一列,如果有sdb设备,那么增多一列DSK信息

sda字段:磁盘设备标识
busy字段:磁盘忙时比例
read、write字段:读、写请求数量

NET列:多列NET展示了网络状况,包括传输层(TCP和UDP)、IP层以及各活动的网口信息

XXXi  字段指示各层或活动网口收包数目
XXXo 字段指示各层或活动网口发包数目



三,常用参数 (在交互模式下也可以用这些参数)

-n 显示网络信息(需要内核打补丁才能使用)
-m 显示内存相关信息(需要内核打补丁才能使用)
-d 显示磁盘读写相关(需要内核打补丁才能使用)
-g 查看默认的通用输出
-s 显示调度特点:每个进程的以下字段所示:进程的ID,运行状态(R)的线程数、中断状态的睡眠线程S(TLSPI)和不可中断睡眠线程D (TSLPU) 数,调度策略(分时调度策略,实时时间片轮转策略,实时调度策略FIFO),nice值,优先级(PRI),实时优先级(RTPR),当前的处理器,状态,退出代码,进程状态,cpu利用率和进程名。
-v 显示各种进程特性:每个进程的以下字段所示:进程ID(PID),父进程ID(PPID)、用户名(USERNAME)和组(GROUP),开始日期和时间,状态(例如,退出代码,如果该进程已完成),进程状态(ST)(D:不可终止进程、  R:正在运行进程 、  T:暂停进程、S:休眠进程、Z:僵尸进程……),CPU占用率和进程名。
-c 以命令行command-line的形式显示:每个进程有以下字段所示:进程的ID,所选资源占用百分比和命令行参数,
-u 以用户的形式显示:以下字段显示:在上一间隔时间内活动或终止的进程数,上一时间间隔内cpu在系统模式和用户模式的消耗,活动进程对虚拟内存和现有内存的消耗。当安装的cnt补丁后会显示读(RDDSK)写(WRDSK)到磁盘上的数据量,以及所收到(RNET)和发送(SNET)的网络数据包,内核补丁没有安装时这些计数器为零。最后一栏显示CPU百分比和用户名。
-p 以进程名的形式显示信息:和-u类似只是最后显示的是进程名
-M 按照占用物理内存百分比大小进行排列
-D,按照访问磁盘的繁忙程度进行排序
-N 按照接受和发送的网络数据包排序
-A 依据当前系统最繁忙的资源进行排序,可能有ACPU、AMEM、ADSK或者ANET
暂无该命令例子,添加例子

评论(0)

暂无评论

评论

名字:
验证码:
获取验证码
内容: