Atop 记录历史linux top信息

From: https://help.aliyun.com/zh/ecs/how-to-use-the-linux-system-atop-monitoring-tools#51eeccf4e1uww

Ubuntu操作系统

atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。其以一定的频率记录系统和进程活动,采集的数据包含CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中。对于每个进程,会显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出码等。当ECS实例出现问题后,您可以获取相应的atop日志文件进行分析。本文介绍如何在Linux实例中安装、配置并使用atop监控工具。

本步骤以Ubuntu 22.04 64位操作系统的ECS实例为例,介绍如何安装atop监控工具。

  1. 更新软件源中的所有软件列表。 sudo apt update
  2. 执行如下命令,安装atop。 sudo apt install atop
  3. (可选)如需监测网络使用率,可安装网络监控模块netatop。说明netatop是atop中的网络监控模块,可以监测每个进程或线程发送或接收的TCP和UDP数据包统计信息。atop中默认未安装netatop,本文以安装netatop 3.1为例。更多信息,请参见Module netatop
    1. 执行如下命令,安装netatop所需的模块。 sudo apt install zlib1g-dev
    2. 执行如下命令,下载netatop安装包。 sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate
    3. 执行如下命令,解压netatop安装包。 tar -zxvf netatop-3.1.tar.gz
    4. 切换到netatop-3.1目录。 cd netatop-3.1
    5. 执行如下命令,编译并安装netatop。 sudo make && sudo make install
    6. 执行如下命令,启动netatop。 sudo systemctl start netatop

配置并启动atop

您可以参考以下步骤,配置atop监控周期和日志保留时间,然后启动atop。

  1. 配置atop监控周期和日志保留时间。
    1. 执行如下命令,打开atop配置文件。
      1. Alibaba Cloud Linux sudo vim /etc/sysconfig/atop
      2. Ubuntu sudo vim /etc/default/atop
    2. i进入编辑模式。
    3. 修改以下配置。
      • LOGOPTS:用于控制日志文件记录选项的一个重要参数,允许您自定义日志文件的保存路径、命名规则、滚动周期以及其他与日志记录相关的选项。为空""表示不使用任何额外选项。说明如果您想每天生成一个atop日志,请设置LOGOPTS="-w /var/log/atop/atop_$(date +\%Y\%m\%d) -b 86400"
      • LOGINTERVAL:监控周期,建议将默认的监控周期600s修改为30s。
      • LOGGENERATIONS:日志保留时间,为避免atop长时间运行占用太多磁盘空间,建议将默认的日志保留时间28天修改为7天。
      • LOGPATH:指定atop日志文件的路径。默认值为/var/log/atop。 LOGOPTS="" LOGINTERVAL=30 LOGGENERATIONS=7 LOGPATH=/var/log/atop
    4. Esc键,输入:wq,保存并退出编辑。
  2. 执行如下命令,重启atop服务。 sudo systemctl restart atop

分析atop日志

atop启动后,会将采集记录存放在/var/log/atop目录下的日志文件中。执行如下命令,查看日志文件。

说明

2023XXXX指具体的时间。

atop -r /var/log/atop/atop_2023XXXX

atop常用命令

打开日志文件后,您可以使用以下命令筛选数据。

  • g:切换回默认的综合输出视图。
  • c:显示进程列完整命令行。
  • m:按照进程内存使用率进行降序筛选。
  • d:按照进程磁盘使用率进行降序筛选。
  • a:按照进程资源综合使用率进行降序筛选。
  • n:按照进程网络使用率进行降序筛选。
  • t:跳转到下一个监控采集点。
  • T:跳转到上一个监控采集点。
  • b:指定时间点,格式为YYYYMMDDhhmm。

系统资源监控字段含义

下图为部分监控字段以及数值,具体数值根据采样周期有所不同。下图仅供参考,具体数据以您实际数据为准。

2023-04-03_17-30-42

主要参数说明如下:

参数说明
ATOP行主机名、信息采样日期和时间点。
PRC行进程整体运行情况。sys、user:分别代表进程在内核态和用户态的运行时间。#proc:进程总数。#trun:处于running状态进程数。#tslpi:处于sleeping interruptible状态的进程数。#tslpu:处于sleeping uninterruptible状态的进程数。#zombie:僵死进程的数量。#exit:atop采样周期内退出的进程数。
CPU行CPU整体的使用情况,即多核CPU作为一个整体CPU资源的使用情况。CPU行各个字段数字相加结果为N*100%,其中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:物理内存总量。free:空闲内存的大小。cache:用于页缓存的内存大小。buff:用于文件缓存的内存大小。slab:系统内核占用的内存大小。
SWP行交换空间的使用情况。tot:交换区总量。free:空闲交换空间大小。
PAG行虚拟内存分页情况。swin、swout:分别代表换入和换出内存页数。
DSK行磁盘使用情况,每一个磁盘设备对应一列,如果有vdb设备,那么将会增加一行DSK信息。vda:磁盘设备标识。busy:磁盘处于busy状态的时间比例。read、write:分别代表读、写请求数量。
NET行多列NET展示了网络状况,包括传输层TCP和UDP、IP层以及各活动的网口信息。****i:各层或活动网口接收包大小。****o:各层或活动网口发送包大小。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇