A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
atop 官网:ATopTool.nl
-bash: atop: command not found #Debian apt-get install atop #Ubuntu apt-get install atop #Alpine apk add atop #Arch Linux pacman -S atop #Kali Linux apt-get install atop #Fedora dnf install atop #Raspbian apt-get install atop #Docker docker run cmd.cat/atop atop
它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,我们可获取相应的atop日志文件进行分析。atop是一款开源软件,我们可以从这里获得其源码和rpm安装包。
atop(选项)(参数)
#atop 进程视图: g —— 默认输出 m —— 内存相关输出 d —— 磁盘相关输出 n —— 网络相关输出 c —— 命令行输出 u 查看对应的用户资源使用情况 p 显示所有每个进程的所有信息占用情况(disk、mem、io) P(大写) 正则匹配,显示所有匹配到的进程 退出atop:q
ATOP - Dev_Test 2018/12/18 15:59:32 --------- 138d2h18m47s elapsed PRC | sys 42d19h | user 143h00m | #proc 340 | #zombie 0 | #exit 0 | CPU | sys 33% | user 13% | irq 0% | idle 737% | wait 15% | cpu | sys 10% | user 0% | irq 0% | idle 89% | cpu003 w 0% | cpu | sys 2% | user 3% | irq 0% | idle 84% | cpu000 w 10% | cpu | sys 3% | user 2% | irq 0% | idle 93% | cpu001 w 1% | cpu | sys 5% | user 1% | irq 0% | idle 93% | cpu002 w 1% | cpu | sys 4% | user 1% | irq 0% | idle 95% | cpu007 w 0% | cpu | sys 4% | user 1% | irq 0% | idle 95% | cpu006 w 0% | cpu | sys 2% | user 2% | irq 0% | idle 93% | cpu004 w 2% | cpu | sys 3% | user 1% | irq 0% | idle 95% | cpu005 w 0% | CPL | avg1 0.58 | avg5 0.73 | avg15 0.72 | csw 482214e5 | intr 18905e6 | MEM | tot 15.5G | free 731.8M | cache 2.0G | buff 37.9M | slab 196.2M | SWP | tot 8.0G | free 4.1G | | vmcom 16.3G | vmlim 15.7G | PAG | scan 16655e6 | steal 1211e7 | stall 2524e3 | swin 27736e3 | swout 2464e4 | DSK | sda | busy 12% | read 23631e4 | write 1739e5 | avio 3.54 ms | NET | transport | tcpi 17705e6 | tcpo 15930e6 | udpi 1932377 | udpo 3568950 | NET | network | ipi 177079e5 | ipo 159353e5 | ipfrw 0 | deliv 1771e7 | NET | eth0 7% | pcki 36801e5 | pcko 77944e5 | si 177 Kbps | so 7043 Kbps | NET | vnet0 0% | pcki 3709287 | pcko 6439543 | si 0 Kbps | so 0 Kbps | NET | br0 ---- | pcki 36786e5 | pcko 66666e5 | si 132 Kbps | so 6982 Kbps | NET | lo ---- | pcki 14041e6 | pcko 14041e6 | si 1224 Kbps | so 1224 Kbps | *** system and process activity since boot *** PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPUNR CPU CMD 1/9 126 990h07m 0.00s 0K 0K 0K 0K N- - S 2 30% ksmd 15338 347m43s 80h24m 10.8G 6.9G 4.6T 345.1G N- - S 0 3% mysqld 16879 529m17s 52h12m 3.6G 2260K 196.3G 76.8G N- - S 6 2% qemu-kvm 2871 724m50s 455m02s 4.0G 2.9G 4.3G 46.3T N- - S 6 1% redis-server 722 114m15s 0.00s 0K 0K 0K 15.9T N- - S 0 0% jbd2/sda2-8 125 113m06s 0.00s 0K 0K 0K 2.1T N- - S 5 0% kswapd0 4871 35m39s 41m40s 742.2M 128.7M 571.6M 173.4G N- - S 6 0% redis-server 2911 38m32s 27m52s 162.2M 25536K 17820K 16K N- - S 5 0% redis-server 2901 38m48s 27m34s 138.2M 4100K 2596K 2340K N- - S 6 0% redis-server 3008 38m18s 27m58s 134.2M 2996K 788K 12K N- - S 3 0% redis-server 997 64m04s 0.00s 0K 0K 435.9M 1.6T N- - S 0 0% flush-8:0 28446 37m54s 3m13s 16084K 1256K 0K 0K N- - S 1 0% zabbix_agentd 82 32m53s 0.00s 0K 0K 0K 0K N- - S 0 0% kblockd/0 36 20m08s 0.00s 0K 0K 0K 0K N- - S 1 0% events/1 35 16m35s 0.00s 0K 0K 0K 0K N- - S 0 0% events/0 39 10m14s 0.00s 0K 0K 0K 0K N- - S 4 0% events/4 2713 5m03s 2m24s 106.0M 1104K 5.4G 24K N- - S 0 0% ksmtuned 40 6m11s 0.00s 0K 0K 0K 0K N- - S 5 0% events/5 1910 1m45s 4m20s 221.8M 1072K 8K 4K N- - S 6 0% php-fpm 37 5m57s 0.00s 0K 0K 0K 0K N- - S 2 0% events/2 42 5m44s 0.00s 0K 0K 0K 0K N- - S 7 0% events/7 41 5m25s 0.00s 0K 0K 0K 0K N- - S 6 0% events/6 2917 83.81s 3m26s 352.3M 28260K 1520K 0K N- - S 5 0% memcached 38 4m21s 0.00s 0K 0K 0K 0K N- - S 3 0% events/3 28450 1m54s 91.87s 16096K 872K 1.2G 8008K N- - S 0 0% zabbix_agentd 1656 1m57s 43.73s 93156K 704K 37920K 4.1G N- - S 3 0% auditd 2735 2m11s 16.52s 114.2M 1020K 12.8T 4.7T N- - S 0 0% crond 28447 88.15s 30.48s 16084K 976K 4.5G 8K N- - S 0 0% zabbix_agentd 28449 87.57s 30.60s 16084K 972K 4.7G 16K N- - S 0 0% zabbix_agentd 28448 86.63s 30.23s 16084K 1004K 4.5G 16K N- - S 0 0% zabbix_agentd 6287 6.76s 1m49s 286.6M 9092K 124K 0K N- - S 4 0% php7 22093 46.71s 62.16s 208.2M 21520K 39388K 380K N- - S 0 0% php-fpm 22079 45.72s 62.51s 208.4M 22592K 44364K 10648K N- - S 2 0% php-fpm 22083 44.79s 59.30s 208.1M 21528K 42528K 444K N- - S 0 0% php-fpm 22098 44.42s 57.63s 208.2M 22600K 41828K 7200K N- - S 0 0% php-fpm 22090 42.89s 56.97s 208.2M 20752K 48004K 392K N- - S 0 0% php-fpm 22087 44.15s 54.94s 208.1M 22808K 46068K 19560K N- - S 1 0% php-fpm 22096 43.09s 52.90s 208.2M 21952K 32864K 576K N- - S 0 0% php-fpm 26832 40.60s 55.15s 208.2M 22376K 30436K 396K N- - S 0 0% php-fpm 22086 42.86s 52.70s 208.2M 21200K 33388K 392K N- - S 0 0% php-fpm 3 93.17s 0.00s 0K 0K 0K 0K N- - S 0 0% migration/0 22091 38.75s 53.28s 208.2M 21860K 37836K 432K N- - S 0 0% php-fpm
ATOP列:该列显示了主机名、信息采样日期和时间点
PRC列:该列显示进程整体运行情况
CPU列:该列显示CPU整体(即多核CPU作为一个整体CPU资源)的使用情况,我们知道CPU可被用于执行进程、处理中断,也可处于空闲状态(空闲状态分两种,一种是活动进程等待磁盘IO导致CPU空闲,另一种是完全空闲)
CPU列各个字段指示值相加结果为N00%,其中N为cpu核数。
cpu列:该列显示某一核cpu的使用情况,各字段含义可参照CPU列,各字段值相加结果为100%
CPL列:该列显示CPU负载情况
MEM列:该列指示内存的使用情况
SWP列:该列指示交换空间的使用情况
PAG列:该列指示虚拟内存分页情况
swin、swout字段:换入和换出内存页数
DSK列:该列指示磁盘使用情况,每一个磁盘设备对应一列,如果有sdb设备,那么增多一列DSK信息
NET列:多列NET展示了网络状况,包括传输层(TCP和UDP)、IP层以及各活动的网口信息
每个时间点采样页面组合起来就形成了一个atop日志文件,我们可以使用"atop -r XXX"命令对日志文件进行查看。那以什么形式保存atop日志文件呢?
对于atop日志文件的保存方式,我们可以这样:
其实atop开发者已经提供了以上日志保存方式,相应的atop.daily脚本可以在源码目录下找到。在atop.daily脚本中,我们可以通过修改INTERVAL变量改变atop信息采样周期(默认为10分钟);通过修改以下命令中的数值改变日志保存天数(默认为28天):
(sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \; )&
最后,我们修改cron文件,每天凌晨执行atop.daily脚本:
0 0 * * * root /etc/cron.daily/atop.daily