atop命令监控进程使用资源

本文详细介绍了Linux性能监控工具atop的常用命令、快捷键,以及在Ubuntu中如何使用apt和dpkg进行包管理,包括安装、升级、卸载和配置atop的日志和自动运行设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

atop介绍

atop 是一个强大的性能监控工具,它提供了多个参数来帮助用户以不同的方式查看和分析系统性能。以下是一些常用的 atop 参数:

常用命令

-r:读取历史记录文件。您可以使用这个参数后跟文件路径来查看过去的性能数据。
-l:指定日志文件的记录间隔时间(以分钟为单位)。
-b:指定开始查看记录的时间。
-e:指定结束查看记录的时间。

快捷键

2.30版本为例,有如下快捷键。其他版本快捷键略有不同,可以sudo atop打开监控屏幕后,输入h显示具体快捷键
g - 显示通用信息(默认)
m - 显示内存详细信息
d - 显示磁盘详细信息
n - 显示网络详细信息
s - 显示调度和线程组信息
v - 显示各种信息(父进程ID、用户/组、日期/时间、状态、退出代码)
c - 显示每个进程的完整命令行
o - 使用自定义的输出行定义
排序进程列表:

C - 按 CPU 活动排序
M - 按内存消耗排序
D - 按磁盘活动排序
N - 按网络活动排序
A - 按最活跃的系统资源排序(自动模式)
累计数据:

u - 按用户显示总资源消耗
p - 按程序(即相同进程名)显示总资源消耗
j - 按容器显示总资源消耗
进程选择(在标题行中显示的键):

U - 聚焦特定用户名(正则表达式)
P - 聚焦特定程序名(正则表达式)
J - 聚焦特定容器ID(CID)
/ - 聚焦特定命令行字符串(正则表达式)
I - 聚焦特定进程ID(PID)
系统资源选择(在标题行中显示的键):

S - 聚焦特定系统资源(正则表达式)
屏幕操作:

^L - 重绘屏幕
PgDn - 显示进程列表的下一页(或 ^F)
ArDn - 向下箭头显示进程列表的下一行
PgUp - 显示进系列表的上一页(或 ^B)
ArUp - 向上箭头显示进程列表的上一行
ArRt - 向右箭头显示完整命令行的下一个字符
ArLt - 向左箭头显示完整命令行的前一个字符
展示(在标题行中显示的键):

y - 显示单独的线程(切换)
a - 显示所有进程(默认:活动进程)(切换)
f - 显示固定数量的标题行(切换)
F - 抑制排序系统资源(切换)
G - 抑制输出中已退出的进程(切换)
x - 不使用颜色来指示高占用(切换)
1 - 显示平均每秒值而不是总值(切换)
R - 计算比例集大小(PSIZE)(切换)

通过这些快捷键,您可以快速地切换到不同的数据视图,以便更有效地监控和分析系统性能。

ubuntu中使用apt和dpgk管理atop包

在大多数情况下,使用 apt 命令会更方便,因为它会自动处理软件包的依赖问题。而 dpkg 则需要手动管理这些依赖。不过,当涉及到删除软件包时,两者都能够删除软件包和其配置文件,但 dpkg 不会自动删除由软件包的依赖项。

apt卸载atop

如果之前下载过atop包,那么需要卸载软件包
如要保留配置文件,请执行下面命令卸载,这个命令对于dpkg安装的包同样适用

sudo apt remove atop

如果需要完全卸载软件和配置文件,请执行下面的卸载命令,这个命令对于dpkg安装的包同样适用

sudo apt purge atop

apt方式安装

sudo apt install atop

atop安装后会在/usr/share/atop下生成两个文件 atop.dailyatop.wrapper

atop.dailyatop.wrapper 文件在 atop 的日常运行和日志管理中扮演着重要的角色。

  1. atop.daily: 这个文件通常是一个脚本,负责 atop 日志的日常轮换。它定义了 atop 日志文件的生成频率和保留策略。例如,您可以在这个文件中设置日志文件的保存周期和过期时间,以及日志文件的命名规则。通常,atop.daily 会被定时任务(如cron)调用,以确保日志文件按预期轮换和维护。

  2. atop.wrapper: 这个文件是 atop的一个包装脚本,它通常用于启动 atop 服务,并确保 atop 以正确的参数运行。它可能包含了一些特定的环境设置或预配置的启动参数,以便atop 能够以预期的方式运行。在某些系统中,atop.wrapper 可能还负责处理权限提升,以便 atop可以以更高权限运行,从而收集更详细的系统信息

dpkg卸载软件包

还可以使用dkpg卸载dpgk安装的软件包,这个命令对于apt安装的包同样适用。

sudo dpkg --purge atop

不过由于dpkg并不能管理依赖,所以还是推荐使用apt卸载

dpkg方式安装

apt虽然安装更简单,但是,想要安装指定的版本使用apt安装不够方便,这个时候可以在atop官方网站下载rpm包

不过需要注意的是,dpkg 可以安装、卸载和管理 .deb 软件包,但它不会自动处理软件包的依赖关系。如果使用 dpkg 安装一个软件包,可能需要手动安装所有必需的依赖。

这里加入ubuntu系统是16.04,那么请下载1.26或相近的版本,这里我下载的是1.25版本

wget --no-check-certificate  https://www.atoptool.nl/download/atop-1.25-1.x86_64.rpm

将rpm包转换为deb包,需要使用alien工具

sudo apt install alien

转换rpm包为deb

sudo alien -d atop-1.25-1.x86_64.rpm

使用dpkg安装atop

 sudo dpkg -i atop_1.25-2_amd64.deb

查看atop是否可以成功运行

sudo atop

如果报错Not enough screen-lines available (need at least 94 lines),Resize window or start atop with the -l flagto limit system-resources ,请加上-l参数,或者也可以指定行数 -l 50

sudo atop -l

查看atop的版本

atop -V
Version: 2.3.0 - 2017/03/25 09:59:59     <gerlof.langeveld@atoptool.nl>

安装atop.service

dpkg安装的包,执行重启sudo systemctl restart atop.service无效,所以这里需要把service加载到system配置中
新增service服务

sudo vim /etc/systemd/system/atop.service
[Unit]
Description=Atop Process Monitor
After=network.target

[Service]
ExecStart=/bin/sh -c 'exec /usr/bin/atop -a -w /var/log/atop/atop_$(date +%%Y%%m%%d).log 60'
ExecStartPost=/bin/sh -c 'find /var/log/atop/ -name "atop_*.log" -type f -mtime +7 -delete'

[Install]
WantedBy=multi-user.target

在这个配置中:

  • ExecStart 使用 %Y%m%d 格式来指定日志文件名,这样每天都会生成一个新的日志文件,例如 atop_20240325.log。
  • ExecStartPost 使用 find 命令来删除超过7天的日志文件,以避免日志文件占用太多空间。

重新加载 systemd 配置并启动 atop 服务:

sudo systemctl daemon-reload
sudo systemctl start atop.service

如果希望 atop 在系统启动时自动启动,可以使用以下命令来启用 atop 服务:

sudo systemctl enable atop.service

更新统计频率

如果是2.3.0的版本,请执行下面的命令,将INTERVAL=600 改成INTERVAL=60 ,表示每1分钟统计一次

sudo vim /usr/share/atop/atop.daily

如果是1.26的版本,请执行下面的命令

sudo vim /etc/default/atop

如果是1.25版本,请执行下面的命令

sudo vim /etc/atop/atop.daily

如果不知道atop配置INTERVAL的文件在哪里,可以使用dpkg -L查询这个安装包所有相关的文件和目录,不管安装方式是dpgk方式安装,还是apt方式安装

 dpkg -L atop

重启atop

sudo /etc/init.d/atop restart

或者

sudo systemctl restart atop.service

查看某个时间段内的统计信息

atop -r /var/log/atop/atop_YYYYMMDD -b 17:00 -e 18:00

参考: Linux命令之atop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值