如何使用 atop 工具获取 EC2 Linux 实例上进程的历史利用率统计信息?
我想监控我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上的历史资源使用情况。我怎样才能使用 atop 工具来做到这一点?
简短描述
atop 工具是一种性能监控工具,可记录历史资源使用情况以供以后分析。该工具还可以进行实时报告。您可以检索每个进程和线程的 CPU 利用率、内存消耗和磁盘 I/O 的使用情况。atop 工具作为后台负保持活动状态,同时记录统计信息,以便进行长期的服务器分析。默认情况下,统计信息将存储 28 天。
**注意:**atop 仅在安装后才开始记录数据。在 atop 安装日期之前,无法检索有关过程的历史性能数据。
解决方案
安装 atop
有关安装说明,请参阅如何为运行 Amazon Linux、RHEL、CentOS 或 Ubuntu 的 EC2 实例配置 ATOP 和 SAR 监控工具?
阅读 atop 报告日志以进行历史回顾和分析
atop 工具在 /var/log/atop 中创建日志文件。这些文件以下列格式命名:atop_ccyymmdd。例如,atop_20210902 是 2021 年 9 月 2 日的记录。
要访问日志文件,请运行命令 atop -r atoplogfilepath。将 atoplogfilepath 替换为 atop 日志文件的完整路径。命令和日志文件如以下示例所示:
atop -r /var/log/atop/atop_20210902 ATOP - ip-172-20-139-91 2021/09/02 17:03:44 ---------------- 3h33m7s elapsed PRC | sys 6.51s | user 7.85s | #proc 103 | #tslpi 81 | #tslpu 0 | #zombie 0 | #exit 0 | CPU | sys 0% | user 3% | irq 0% | idle 197% | wait 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu000 w 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu001 w 0% | ipc notavail | curscal ?% |
在前面的输出示例中,第一个记录的快照是在 2021/09/02 17:03:44。要前进到下一个快照,请按键盘上的 t 键(小写)。要返回到上一个快照,请按 T 键(大写)。
要分析特定时隙,请按 b 键,然后输入日期和时间。atop 工具会跳到输入新时间变量中指定的时间:
NET | lo ---- | pcki 2 | pcko 2 | sp 0 Mbps | si 0 Kbps | so 0 Kbps | erro 0 | Enter new time (format [YYYYMMDD]hhmm): PID TID RDDSK WRDSK WCANCL DSK CMD 1/4
快捷键
您可以按快捷键查看不同的统计数据。以下是示例快捷键:
快捷键 | 说明 |
g | 通用信息(原定设置值)。 |
m | 内存详细信息。 |
d | 磁盘详细信息。 |
n | 网络详细信息。只有在安装了 netatop 内核模块时,此密钥才有效。 |
c | 每个进程的完整命令行 |
您可以使用以下快捷键对进程列表进行排序:
快捷键 | 排序依据 |
C | CPU 活动。 |
M | 内存消耗量。 |
D | 磁盘活动。 |
N | 网络活动。只有在安装了 netatop 内核时,此密钥才有效。 |
A | 最活跃的系统资源(自动模式)。 |
按 h 键查看帮助文档。
atopsar 命令
atopsar 命令的功能类似于传统的 UNIX sar 命令。您可以使用 atopsar 命令生成各种系统活动报告。
atopsar 命令使用颜色编码和(根据要求)标记来突出显示资源的利用率。关键利用率用红色标记,几乎关键用青色标记。
在以下示例中,使用标志 -c 生成有关系统当前 CPU 利用率的报告。以下示例显示了两个结果,相隔一秒钟。
$ atopsar -c 1 2 ip-172-20-139-91 4.14.238-182.422.amzn2.x86_64 #1 SMP Tue Jul 20 20:35:54 UTC 2021 x86_64 2021/09/02 -------------------------- analysis date: 2021/09/02 -------------------------- 18:50:16 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle _cpu_ 18:50:17 all 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 100 1 0 0 0 0 0 0 0 0 100 18:50:18 all 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 100 1 0 0 0 0 0 0 0 0 100
atopsar 命令还可以分析历史数据。例如,运行以下命令以生成当天从 13h00 (-b**) 开始到 13h35 (-e) 结束的所有报告 (-A)**。
atopsar -A -b 13:00 -e 13:35
您可以使用 -r 选项并指定日志文件名来读取前几天的文件。
相关信息
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 10 个月前
- AWS 官方已更新 1 年前