Linux教程

linux命令行下好用的性能监控工具atop

本文主要是介绍linux命令行下好用的性能监控工具atop,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

软件介绍

atop 是一款用于监控 Linux 系统资源和进程的工具,以一定的频率记录系统的运行状态,采集系统资源(CPU、内存、磁盘和网络)使用情况及进程运行情况数据,并以日志文件的方式保存在磁盘中。当实例出现问题时,可获取对应的 atop 日志文件用于分析,特别是针对一些突然宕机的服务器,通过这种方式获取历史资源使用情况,非常有利于查找到服务器异常崩溃的原因。本文以操作系统为 CentOS 7.9 及 Ubuntu 20的云服务器为例,介绍如何使用 atop 监控工具。

软件安装

#centos7.9
yum install atop

#ubuntu
apt-get install atop

配置并重启 atop
1、vi编辑器打开atop配置文件

# centos7.9
vi /etc/sysconfig/atop

# ubuntu20
vi  /usr/share/atop/atop.daily

2、按i进入编辑模式,修改以下配置:
* 将 LOGINTERVAL=600 修改为 LOGINTERVAL=30,表示将默认的600s监控周期修改为30s。建议修改为30s,您可结合实际情况进行修改。
* 将 LOGGENERATIONS=28 修改为 LOGGENERATIONS=7,表示将默认的日志保留时间28天修改为7天。为避免 atop 长时间运行占用太多磁盘空间,建议修改为7天,您可结合实际情况进行修改。
修改完成后如下图所示:
file
3、按Esc后输入:wq ,保存并退出编辑器
4、重启atop

#centos7,9 && ubuntu20
systemctl restart atop

atop软件使用

atop 启动后,会将采集的数据记录在 /var/log/atop 目录的日志文件中。请获取实际的日志文件名,执行以下命令,查看日志文件并参见 atop 常用命令 及 系统资源监控字段说明 进行分析。

atop -r /var/log/atop/atop_2021xxxx

atop常用命令

可以在打开日志文件后,使用以下命令筛选所需数据:

  • c:按照进程的 CPU 使用率降序筛选。
  • m:按照进程的内存使用率降序筛选。
  • d:按照进程的磁盘使用率降序筛选。
  • a:按照进程资源综合使用率进行降序筛选。
  • n:按照进程的网络使用率进行降序筛选(使用此命令需安装额外的内核模块,默认不支持)。
  • t:跳转到下一个监控采集点。
  • T:跳转到上一个监控采集点。
  • b:指定时间点,格式为 YYYYMMDDhhmm。
  • h:帮助菜单

系统资源监控字段说明
file
下图为部分监控字段以及数值,数值根据采样周期获取,仅作为参考。

主要参数说明如下:

  • ATOP 行:主机名、信息采样日期和时间点。
  • PRC 行:进程整体运行情况。
    sys 及 user:CPU 被用于处理进程时,进程在内核态及用户态所占 CPU 的时间比例。
    proc:进程总数。
    zombie:僵死进程的数量。
    exit:Atop 采样周期期间退出的进程数量。
  • CPU 行:CPU 整体(即多核 CPU 作为一个整体 CPU 资源)的使用情况。CPU 行的各字段数值相加结果为 N00%,N 为 CPU 核数。
    sys 及 user:CPU 被用于处理进程时,进程在内核态及用户态所占 CPU 的时间比例。
    irq:CPU 被用于处理中断的时间比例。
    idle:CPU 处在完全空闲状态的时间比例。
    wait:CPU 处在“进程等待磁盘 IO 导致 CPU 空闲”状态的时间比例。
  • CPL 行:CPU 负载情况。
    avg1、avg5 和 avg15:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量。
    csw:指示上下文交换次数。
    intr:指示中断发生次数。
    MEM 行:内存的使用情况。
    tot:物理内存总量。
    cache :用于页缓存的内存大小。
    buff:用于文件缓存的内存大小。
    slab:系统内核占用的内存大小。
  • SWP 行:交换空间的使用情况。
    tot:交换区总量。
    free:空闲交换空间大小。
  • PAG 行:虚拟内存分页情况
    swin 及 swout:换入和换出内存页数。
  • DSK 行:磁盘使用情况,每一个磁盘设备对应一列。如果有 sdb 设备,那么增加一行 DSK 信息。
    sda:磁盘设备标识。
    busy:磁盘忙时比例。
    read 及 write:读、写请求数量。
  • NET 行:多列 NET 展示了网络状况,包括传输层(TCP 和 UDP)、IP 层以及各活动的网口信息。
    xxxxxi:各层或活动网口收包数目。
    xxxxxo:各层或活动网口发包数目。

默认视图

进入 atop 信息界面,我们看到的就是进程信息的默认视图 (上图下半部分),按 g 键可以从其他视图跳到默认视图。
file

内存视图

内存视图展示了进程使用内存情况,按 m 键可进入内存视图。
file

上图下半部分展示了每个进程占用的虚拟内存空间 (VSIZE)、内存空间 (RSIZE) 大小,以及在上一个采样周期中虚拟内存和物理内存增长大小 (VGROW、RGROW),MEM 列指示进程所占物理内存大小。

命令视图

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

这篇关于linux命令行下好用的性能监控工具atop的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!