linux监控工具

前言介绍

安装atop

Alibaba Cloud Linux(Centos系统)这些操作系统通用

教程来自于阿里云,略微加了点修改让新手更容易理解。

  1. 远程连接ECS服务器,用ssh工具操作。
  2. 执行如下命令,安装atop。
  3. 代码sudo yum install atop
  4. (可选)如需监测网络使用率,可安装网络监控模块netatop。说明netatop是atop中的网络监控模块,可以监测每个进程或线程发送或接收的TCP和UDP数据包统计信息。atop中默认未安装netatop,本文以安装netatop 3.1为例。
    1. 执行如下命令,安装内核开发包。代码sudo yum install kernel-devel-$(uname -r)
    2. 执行如下命令,安装netatop所需的模块。sudo yum install elfutils-libelf-devel
    3. 执行如下命令,下载netatop安装包。
    4. sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz –no-check-certificate
    5. 执行如下命令,解压netatop安装包。tar -zxvf netatop-3.1.tar.gz
    6. 切换到netatop-3.1目录。cd netatop-3.1
    7. 执行如下命令,编译并安装netatop。sudo make && sudo make install
    8. 执行如下命令,启动netatop。sudo systemctl start netatop

Ubuntu操作系统

本步骤以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为例。
    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 启动后,会将采集的数据记录在 /var/log/atop 目录的日志文件中。请获取实际的日志文件名,执行以下命令。

atop 常用命令

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

c:按照进程的 CPU 使用率降序筛选。

m:按照进程的内存使用率降序筛选。

d:按照进程的磁盘使用率降序筛选。

a:按照进程资源综合使用率进行降序筛选。

n:按照进程的网络使用率进行降序筛选(使用此命令需安装额外的内核模块,默认不支持)。

t:跳转到下一个监控采集点。

T:跳转到上一个监控采集点。

b:指定时间点,格式为 YYYYMMDDhhmm。

系统资源监控字段说明

下图为部分监控字段以及数值,数值根据采样周期获取,仅作为参考。

图片[1]-linux监控工具-帽帽电脑

主要参数说明如下:

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

不建议在业务环境下长期运行 atop,您可在问题排查完成后停止 atop。在 CentOS 7 及以上版本可执行以下命令,停止 atop。

systemctl stop atop
温馨提示:若内容/图片/下载链接失效,请在下方留言或登录后私信站长
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容