atop介绍和使用

系统+安全 Liemer_Lius 2718℃ 0评论

atop是可以视为Linux中top命令的增强版. 它可以将服务器的一些运行信息(cpu,内存,网络,i/o等)以日志的形式写入磁盘, 以便后期在发现的问题的时候, 查看日志对问题节点对应时间点的系统运行参数, 以便更好的定位问题.

atop是开源软件, Centos上, 只要有了epel源, 即可使用如下命令安装:

yum install -y atop

atop日志的读取方式:

如果是实时监控, 直接输入atop, 点击回车即可进入界面.

如若是已有的atop日志文件, 使用如下命令来查看:

atop -r atop_20180731

atop日志的字段讲解

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

PRC列:该列显示进程整体运行情况
1.sys、usr字段分别指示进程在内核态和用户态的运行时间
2.#proc字段指示进程总数
3.#zombie字段指示僵死进程的数量
4.#exit字段指示atop采样周期期间退出的进程数量
CPU列:该列显示CPU整体(即多核CPU作为一个整体CPU资源)的使用情况,我们知道CPU可被用于执行进程、处理中断,也可处于空闲状态(空闲状态分两种,一种是活动进程等待磁盘IO导致CPU空闲,另一种是完全空闲)
1.sys、usr字段指示CPU被用于处理进程时,进程在内核态、用户态所占CPU的时间比例
2.irq字段指示CPU被用于处理中断的时间比例
3.idle字段指示CPU处在完全空闲状态的时间比例
4.wait字段指示CPU处在“进程等待磁盘IO导致CPU空闲”状态的时间比例
CPU列各个字段指示值相加结果为N00%,其中N为cpu核数。

cpu列:该列显示某一核cpu的使用情况,各字段含义可参照CPU列,各字段值相加结果为100%

CPL列:该列显示CPU负载情况
1.avg1、avg5和avg15字段:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量
2.csw字段指示上下文交换次数
3.intr字段指示中断发生次数\
MEM列:该列指示内存的使用情况
1.tot字段指示物理内存总量
2.free字段指示空闲内存的大小
3.cache字段指示用于页缓存的内存大小
4.buff字段指示用于文件缓存的内存大小
5.slab字段指示系统内核占用的内存大小
SWP列:该列指示交换空间的使用情况
1.tot字段指示交换区总量
2.free字段指示空闲交换空间大小
PAG列:该列指示虚拟内存分页情况
swin、swout字段:换入和换出内存页数
DSK列:该列指示磁盘使用情况,每一个磁盘设备对应一列,如果有sdb设备,那么增多一列DSK信息
1.sda字段:磁盘设备标识
2.busy字段:磁盘忙时比例
3.read、write字段:读、写请求数量
NET列:多列NET展示了网络状况,包括传输层(TCP和UDP)、IP层以及各活动的网口信息
1.XXXi  字段指示各层或活动网口收包数目
2.XXXo 字段指示各层或活动网口发包数目
进程视图

为了更全面地展示进程信息,atop提供了多种进程视图。
默认视图(Generic information)
进入atop信息界面,我们看到的就是进程信息的默认视图(上图下半部分),按g键可以从其他视图跳到默认视图。
内存视图(Memory consumption)
内存视图展示了进程使用内存情况,按m键可进入内存视图。

命令视图(Command line)
按c键我们可以进入命令视图,该视图展示了与每个进程相对应的命令。

对于atop日志文件的保存方式,我们可以这样:

  1. 每天保存一个atop日志文件,该日志文件记录当天信息
  2. 日志文件以”atop_YYYYMMDD”的方式命名
  3. 设定日志失效期限,自动删除一段时间前的日志文件

其实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

atop常用快捷键

读取atop日志文件:

   atop  -r  XXX 
   前进翻页:   t  
   后退翻页:   T  
   进程列表前进翻页:   ctrl + f  
   进程列表后退翻页:   ctrl + b 
   按时间跳转: b    
   Enter newtime(format hh:mm): 按hh:mm格式输入时间 
   进程视图:  
   g   ——默认输出 
   m  ——内存相关输出 
   d   ——磁盘相关输出 
   n   ——网络相关输出 
   c   ——命令行输出

   退出atop:q

 

转载请注明:liutianfeng.com » atop介绍和使用

喜欢 (0)

发表回复