atop命令详解

简介

ATOP是一款用于观察Linux性能的ASCII全屏交互式工具。类似于top,每隔一段时间报告 CPU,Memory,Disk,Network 等硬件的性能信息,对于严重过载的资源会高亮显示。 除此之外,还包括进程级的相关统计信息。比如进程的CPU、内存、磁盘利用率,用户名,进程状态,启动时间,进程ID等。对于在上一个周期内退出的进程还会显示退出状态码。所有进程信息默认按CPU占用率降序排列。

安装

在centos可以使用yum install atop来安装。安装完成之后,再运行systemctl start atop来启动服务,查看一下/usr/lib/systemd/system/atop.service启动配置文件,如下:

atop.service
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~]# cat /usr/lib/systemd/system/atop.service 
[Unit]
Description=Atop advanced performance monitor
Documentation=man:atop(1)

[Service]
Type=simple
ExecStart=/usr/share/atop/atop.daily
KillSignal=SIGUSR2
#ExecStopPost=/usr/bin/sleep 3

[Install]
WantedBy=multi-user.target

可以看出,服务启动的是命令是/usr/share/atop/atop.daily,再分析一下atop.daily,每天0点会定时分割日志,所保存的日志是放在/var/log/atop/目录下。默认情况下是每10分钟采集一次数据,日志保存天数为28天,日志文件以”atop_YYYYMMDD”的方式命名。

1
2
3
4
5
6
7
8
9
[root@localhost ~]# cat /usr/share/atop/atop.daily
LOGINTERVAL=600 # default interval in seconds
LOGGENERATIONS=28 # default number of days

[root@localhost ~]# cat /etc/sysconfig/atop
。。。
# interval (default 10 minutes)
- INTERVAL=60
+ INTERVAL=600

使用方法

使用atop就可以直接进行交互模式,默认情况下是每10秒更新,分别显示了进程数量、CPU使用率、负载、内存、SWAP、磁盘以及网卡等信息,所有的信息都在同一行上面展示。

1558938811400

值得注意的是CPU这一块,其使用率是使用率*CPU核数。其他具体含义可以参考:http://www.lyyyuna.com/2018/07/04/perftest-atop/

有如下模式:

  • 按 g 进入默认模式
  • 按 m 进入内存模式,详细显示子进程的内存使用的情况
  • 按 d 进入磁盘模式,详细显示子进程的磁盘读写的情况
  • 按 p 进入进程模式,显示进程所占用的数量、CPU、内存、磁盘读写,可以用来快速定位有异常的进程
  • 按 c 进入命令视图,该视图展示了与每个进程相对应的命令。
  • 按 u 查看用户占用资源情况
  • 按 P(大写)正则匹配,显示所有匹配到的进程
  • 按 n 进入

排序命令:

  • 大写C,CPU排序
  • 大写M,内存排序
  • 大写D,磁盘排序
  • 大写A,智能排序

查看历史记录

atop查看历史记录

atop -b 15:30 -e 21:00 -r atop_20190526查看15:30~21:00之间的原因记录,进入之后,按 t 显示下一采集周期的数据,按 T 显示前一个采集周期的数据。

还可以自己查看原始数据,如下是查看CPU使用率的计算方式,参考链接:http://bean-li.github.io/CPU-sharp-pulse/

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# atop -P PRC -b 15:30 -e 15:34 -r /var/log/atop/atop_20190526 | awk '{print $8,$7,$19,$3,$4,$5, $11,$12, $11+$12}'   |sort -nk 9 |tail -n 10
(squid) 11931 11931 1558855802 2019/05/26 15:30:02 4285 4557 8842
(squid) 11933 11933 1558855802 2019/05/26 15:30:02 4212 4664 8876
(squid) 11937 11937 1558855802 2019/05/26 15:30:02 4709 4281 8990
(squid) 11935 11935 1558855802 2019/05/26 15:30:02 4342 4673 9015
(squid) 11938 11938 1558855802 2019/05/26 15:30:02 4775 4382 9157
(squid) 11936 11936 1558855802 2019/05/26 15:30:02 4514 4845 9359
(squid) 11930 11930 1558855802 2019/05/26 15:30:02 4438 4951 9389
(squid) 11929 11929 1558855802 2019/05/26 15:30:02 5196 4414 9610
(squid) 11938 11938 1558855802 2019/05/26 15:30:02 4813 5125 9938
(squid) 11929 11929 1558855802 2019/05/26 15:30:02 5248 5197 10445

atopsar查看历史记录

使用atopsar是可以类似sar一样,可以查看到系统的整体情况,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# atopsar -r /var/log/atop/atop_20190526  -b 15:30 -e 15:40 -d

localhost SMP Tue Apr 10 17:11:33 CST 2018 x86_64 2019/05/27

-------------------------- analysis date: 2019/05/26 --------------------------

15:30:02 disk busy read/s KB/read writ/s KB/writ avque avserv _dsk_
15:40:02 sda 10% 11.7 27.8 10.2 30.1 8.8 4.55 ms
sdb 55% 36.0 295.2 47.6 236.1 17.9 6.57 ms
sdc 50% 32.1 265.6 41.9 244.9 13.8 6.78 ms
sdd 54% 32.8 279.2 46.4 222.5 13.2 6.77 ms
sde 54% 41.7 330.0 42.9 218.8 17.5 6.36 ms
sdf 52% 30.1 269.2 43.0 234.0 15.8 7.15 ms
sdg 52% 34.1 290.7 46.7 232.3 14.7 6.49 ms
sdh 56% 37.4 290.1 46.4 218.3 14.3 6.74 ms
sdi 56% 34.0 278.3 42.6 219.0 15.6 7.33 ms
sdj 45% 28.5 250.8 39.5 254.3 17.6 6.57 ms
sdk 49% 30.6 259.2 44.3 229.4 17.3 6.53 ms
sdl 53% 31.7 246.3 48.0 234.6 15.1 6.69 ms

具体使用atop --help来查看更多的参数。

参考资料

官方:https://www.atoptool.nl/systemreports.php

https://xixiliguo.github.io/post/atop/

http://www.361way.com/atop/5162.html

  • 本文作者: wumingx
  • 本文链接: https://www.wumingx.com/performance/atop.html
  • 本文主题: atop命令详解
  • 版权声明: 本站所有文章除特别声明外,转载请注明出处!如有侵权,请联系我删除。
0%