atop命令监控进程使用资源

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

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux 是一个开源的操作系统,与其他操作系统一样,它可以通过命令行或者图形界面进行管理和操作。在 Linux 中,磁盘驱动器被视为文件,可以通过文件系统中的挂载点访问。下面是一些常见的 Linux 磁盘管理命令: 1. df 命令:用于查看磁盘空间的使用情况,包括磁盘总容量、已使用的容量和可用的容量等。 示例:`df -h`,以易读的方式显示磁盘空间使用情况。 2. du 命令:用于查看文件或目录的大小,可以用来找出磁盘空间占用过大的文件或目录。 示例:`du -sh /path/to/directory`,查看指定目录的大小。 3. fdisk 命令:用于对磁盘进行分区和管理,可以创建、删除、修改分区等。 示例:`fdisk -l`,列出所有磁盘分区的信息。 4. mkfs 命令:用于创建文件系统,可以将磁盘分区格式化为指定的文件系统类型。 示例:`mkfs.ext4 /dev/sda1`,将 /dev/sda1 格式化为 ext4 文件系统。 5. mount 命令:用于挂载文件系统到指定的挂载点,使得文件系统可以被访问。 示例:`mount /dev/sda1 /mnt/data`,将 /dev/sda1 挂载到 /mnt/data 目录下。 6. umount 命令:用于卸载已经挂载的文件系统,使得该文件系统不再被访问。 示例:`umount /mnt/data`,卸载 /mnt/data 目录下的文件系统。 以上是一些常用的 Linux 磁盘管理命令,可以帮助管理员进行磁盘管理和维护工作。 ### 回答2: 在Linux系统中,可以使用一些常用的命令监控磁盘使用情况。以下是几个常见的命令: 1. `df`命令:用于显示文件系统的磁盘空间利用率。运行`df`命令可以显示所有已挂载的文件系统及其使用情况。其中,`df -h`可以以人类可读的方式显示文件系统的使用情况,`df -i`可以显示文件系统的inode使用情况。 2. `du`命令:用于估算文件或目录的磁盘空间使用量。可以使用`du`命令来查看特定文件或目录的磁盘空间使用情况,例如`du -sh /path/to/directory`可以以人类可读的方式显示目录的磁盘使用情况。 3. `iotop`命令:用于监视磁盘I/O活动,即实时显示磁盘I/O数据。运行`iotop`命令可以显示各个进程的磁盘I/O使用情况,包括读写速度和进程名称。 4. `atop`命令:用于监控系统资源使用情况,包括磁盘I/O。运行`atop`命令可以显示各个进程的磁盘I/O使用情况,包括读写速度和进程名称,还可以查看磁盘的使用情况。 5. `sar`命令:用于系统性能监控和报告。运行`sar -d`命令可以查看系统磁盘的使用情况,包括磁盘读写速度、I/O等待时间等。 这些命令提供了不同的方式来监视和分析磁盘使用情况,可以根据具体需求选择合适的命令进行使用。通过监控磁盘使用情况,可以及时发现并解决磁盘空间不足或磁盘I/O繁忙的问题,确保系统的稳定和正常运行。 ### 回答3: 在Linux系统中,可以使用一些命令监控磁盘使用情况。 1. df命令:df命令用于显示磁盘文件系统的整体磁盘使用情况。使用命令"df -h"可以以易读的方式显示磁盘空间的使用情况,包括总磁盘空间、已用空间、可用空间和已用百分比。 2. du命令:du命令用于显示目录或文件的磁盘使用情况。使用命令"du -h"可以按易读的方式显示指定目录或文件的磁盘使用情况,包括磁盘空间占用、子目录或文件的大小等信息。 3. iostat命令:iostat命令用于监控系统的磁盘I/O情况。使用命令"iostat -x"可以显示磁盘设备的磁盘传送率、响应时间和队列长度等信息,帮助了解磁盘的读写性能。 4. top命令:top命令用于实时查看系统的资源占用情况。在top命令的输出中,可以通过按下"d"键来按磁盘I/O排序,从而查看磁盘读写操作的情况。 5. sar命令:sar命令用于收集和报告系统活动信息。使用命令"sar -d"可以查看系统的磁盘活动信息,包括磁盘读写速率、I/O请求数量和平均响应时间等。 以上这些命令可以帮助管理员实时或定期监控系统的磁盘使用情况,及时发现磁盘空间不足、磁盘性能下降等问题,并采取相应的措施进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值