暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ATOP监控工具的使用方法

IT那活儿 2024-08-27
1115

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!   



atop就是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,可获取相应的atop日志文件进行分析。其比较强大的地方是其支持我们分析数据时进行排序、视图切换、正则匹配等处理






安装和配置



1.1 下载atop安装包,并安装

1)centos8、redhat8下载地址
wget https://www.atoptool.nl/download/atop-2.6.0-1.el8.x86_64.rpm
2)centos7、redhat7下载地址
wget https://www.atoptool.nl/download/atop-2.6.0-1.el7.x86_64.rpm
1.2 配置修改
vi /etc/default/atop
LOGINTERVAL=15
LOGGENERATIONS=28

  • LOGINTERVAL默认是600,可以修改成15,单位秒。
  • 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值,单位为天。
  • atop会根据所设定的周期去采样一次系统数据,并保存在/var/log/atop/目录。
1.3 重启和检查服务

systemctl restart atop
systemctl status atop




atop的使用



2.1 执行atop,将显示当前的性能

2.2 进入atop信息界面
看到的就是进程信息的默认视图(下图),按g键,可以从其他视图跳到默认视图。




监控字段含义



3.1 ATOP列
该列显示了主机名、信息采样日期和时间点。
3.2 PRC列
该列显示进程整体运行情况。
  • sys、usr字段分别指示进程在内核态和用户态的运行时间;
  • #proc字段指示进程总数;
  • #zombie字段指示僵死进程的数量;
  • #exit字段指示atop采样周期期间退出的进程数量。
3.3 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%。
3.4 CPL列
该列显示CPU负载情况。
  • avg1、avg5和avg15字段:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量;
  • csw字段指示上下文交换次数;
  • intr字段指示中断发生次数。
3.5 MEM列
该列指示内存的使用情况。
  • tot字段指示物理内存总量;
  • free字段指示空闲内存的大小;
  • cache字段指示用于页缓存的内存大小;
  • buff字段指示用于文件缓存的内存大小;
  • slab字段指示系统内核占用的内存大小。
3.6 SWP列
该列指示交换空间的使用情况。
  • tot字段指示交换区总量;
  • free字段指示空闲交换空间大小。
3.7 PAG列
该列指示虚拟内存分页情况。
  • swin、swout字段:换入和换出内存页数。
3.8 DSK列
该列指示磁盘使用情况,每一个磁盘设备对应一列,如果有sdb设备,那么增多一列DSK信息。
  • sda字段:磁盘设备标识;
  • busy字段:磁盘忙时比例;
  • read、write字段:读、写请求数量。
3.9 NET列
多列NET展示了网络状况,包括传输(TCP和UDP)、IP层以及各活动的网口信息。
  • XXXi  字段指示各层或活动网口收包数目;
  • XXXo 字段指示各层或活动网口发包数目。




视图模视



4.1 默认视图(Generic information)
输入atop进入信息界面,看到的就是进程信息的默认视图(下半部分)
4.2 内存视图(Memory consumption)
内存视图展示了进程使用内存情况,按m键可进入内存视图:
上图下半部分展示了每个进程占用的虚拟内存空间(VSIZE)、内存空间(RSIZE)大小,以及在上一个采样周期中虚拟内存和物理内存增长大小(VGROW、RGROW),MEM列指示进程所占物理内存大小。
从上图的PAG列的信息,我们可以知道此时系统内存负载较高,页交换比较频繁,而且可以看出物理内存几乎完全不可用,swap分区也比较繁忙,从进程视图中VGROW和RGROW列可看出lekker 进程占用内存量大量增长,部分进程占用的内存减少(VGROW或RGROW字段为负值),为lekker进程腾出空间。
4.3 命令视图(Command line)
这个对于查看具体某个命令的详细参数,很容易通过该模式下查看到。
比如,我们有多个java程序,普通视图下,可能看到的只显示为java ,但通过命令模式,我们可以方便的区分出,到底是哪个java程序占用资源比较高。
4.4 磁盘视图
按键d 可以进入磁盘视图,可以查看每个进程占用IO的情况。
4.5 快捷键汇总
  • 读取atop日志文件:atop  -r  XXX
  • 前进翻页:t
  • 后退翻页:T
  • 进程列表前进翻页:ctrl + f
  • 进程列表后退翻页:ctrl + b
  • 按时间跳转:
    b
    Enter new time (format hh:mm):
    按hh:mm格式输入时间
  • 进程视图:
    g   —— 默认输出
    m  —— 内存相关输出
    d   —— 磁盘相关输出
    n   —— 网络相关输出
    c   —— 命令行输出
    u  查看对应的用户资源使用情况
    p  显示所有每个进程的所有信息占用情况(disk、mem、io)
    P(大写) 正则匹配,显示所有匹配到的进程
  • 退出atop:q




保存和查看atop日志



5.1 查看

查看atop ,实时刷新按a ,退出按q。
5.2 保存日志文件
保存日志atop -w zpa.txt
  • -P 可以将日志输出成可解析的格式,默认是压缩的格式,都是乱码。
5.3 查看日志文件
使用atop -r var/log/atop/zpa.txt(动态文本,可与atop直接使用方法一致)。
##atop日志文件都是以日期命名。
输出日志  atop -r log.txt , 按 t 查看 下一个样本 的性能数据 ,按T查看 上一个样本的性能数据。
其他:
atop启动后,除了atop 进程本身外,还会启动一个atopacctd 进程,该进程是一个计数进程,其数据文件存放在如下路径。

END


本文作者:郑平安(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论