关闭
首页>Linux>正文

Linux 实用监控工具 Atop

Linux 2016-12-28 23:17:34
  • A+
  • 3
  • 1814
atop就是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,我们可获取相应的atop日志文件进行分析。

安装atop

atop通常在默认的下载源中就有,可以通过如下命令安装atop
yum install atop -y  (centos)
apt-get install atop -y  (ubuntu)
0.png


启动atop

atop在安装完毕,会自动成为一个服务,可以在 /etc/init.d/atop 中管理
service atop start 即可启动atop

1.png

注1: 由于我使用的是 centos 7.0,系统服务的管理方式已经变成systemctl,所以在/etc/init.d 下面没有atop.
注2:直接使用service atop start,会发现系统自动将指令重定向为 systemctl start atop,启动之后使用 ps -eaf 可以看到atop服务在后台运行,并且将数据写入指定目录


配置atop

atop安装完毕后,有几个重要的配置文件/目录,通常默认在如下路径:
/etc/sysconfig/atop  atop配置文件,主要用于调整atop监控周期,默认600s采集一次

2.png

/etc/cron.d/atop    每日重试定时任务

3.png

/var/log/atop    用于存放atop监控日志

4.png


分析atop

atop在启动之后,会将采集记录在 /var/log/atop目录中,可执行如下命令查看日志文件
atop -r /var/log/atop/atop_20161227

5.png


atop常用指令

c 按照进程cpu使用率进行降序筛选
m 按照进程内存使用率进行降序筛选
d 按照进程磁盘使用率进行降序筛选
a 按照进程资源综合使用率进行降序筛选
n 按照进程网络使用率进行降序筛选(需要额外安装内核模块才支持,默认不支持)
t 跳转到下一个监控采集点
T 跳转到上一个监控采集点
B 指定时间点,格式 hh:mm:ss


案例

客户反馈自己服务器偶尔会出现IO突刺,需要定位到具体原因.

6.png

通过安装部署atop,将采集间隔适当缩短周期,监控一段时间后,当视图监控出现异常时,分析atop采集日志可明确发现问题,为mysql导致。
则可进一步通过分析对应时间点的mysql binlog 以及 error.log进行业务定位

7.png


系统资源监控字段含义

上图中列出了不少字段以及数值,各字段的含义是什么?我们应该怎么看?以上每个字段的含义都是相对采样周期而言的,下面我们先来关注上图显示的上半部分。
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 字段指示各层或活动网口发包数目

本文地址:https://www.awobaba.cn/view-24.html

版权声明:本文为原创文章,版权归 阿我巴巴 所有,欢迎分享本文,转载请保留出处!

分享

广告位

评论3 发表评论

  • 2017-02-18 23:15:07

    Windows 10󰀹北京市鹏博士长城宽带

    大苏打
    回复
  • Army2017-01-12 16:40:13

    Windows 10󰀹重庆市电信

    Jianrry军哥,留一下rss地址,直接用rss订阅算了,访问太麻烦了。
    @Jianrry 思考
    回复
  • Jianrry2017-01-11 16:14:00

    Windows 10󰀹湖北省黄冈市电信

    军哥,留一下rss地址,直接用rss订阅算了,访问太麻烦了。
    回复
点击获取效验码

Copyright © 阿我巴巴 版权所有.

Process:0.01043s, Memory: 487.27K, Cache: redis. 渝ICP备16003772号

渝公网安备 50022802000338号

本站服务器由 腾讯云 提供