如何安装“atop”来监控 Linux 系统进程的日志记录活动
Atop 是一个全屏性能监视器,可以报告所有进程的活动,甚至是已经完成的进程。 Atop 还允许您保留系统活动的每日日志。同样的方法可用于不同的目的,包括分析、调试、查明系统过载的原因等。
顶部功能
- 查看所有进程的总体资源消耗情况
- 检查已使用了多少可用资源
- 记录资源使用情况
- 检查各个线程的资源消耗
- 监控每个用户或每个程序的进程活动
- 监控每个进程的网络活动
Atop最新版本是2.1,包含以下功能
- 新的日志记录机制
- 新的关键标志
- 新字段(计数器)
- Bug修复
- 可配置的颜色
在Linux上安装Atop监控工具
1. 在本文中,我将向您展示如何在 RHEL/CentOS/Fedora 和基于 Debian/Ubuntu 的衍生产品等 Linux 系统上安装和配置,以便您可以轻松监控系统进程。
在 RHEL/CentOS/Fedora 上
首先,您需要在 RHEL/CentOS/ 系统下启用 epel 存储库,以便安装监控工具。
启用 epel 存储库后,您可以简单地使用 yum 包管理器来安装 atop 包,如下所示。
yum install atop
或者,您可以使用以下 wget 命令直接下载 atop rpm 软件包,并使用以下命令继续安装 atop。
------------------ For 32-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.i586.rpm
rpm -ivh atop-2.1-1.i586.rpm
------------------ For 64-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.x86_64.rpm
rpm -ivh atop-2.1-1.x86_64.rpm
在 Debian/Ubuntu 上
在基于 Debian 的系统下,可以使用 apt-get 命令从默认存储库安装 atop。
sudo apt-get install atop
2.安装atop后,确保atop随系统启动而启动,运行以下命令:
------------------ Under RedHat based systems ------------------
chkconfig --add atop
chkconfig atop on --level 235
sudo update-rc.d atop defaults [Under Debian based systems]
3. 默认情况下,atop 将每 600 秒记录一次所有活动。由于这可能没那么有用,我将更改 atop 的配置,因此所有活动都将以 60 秒的间隔记录。为此,运行以下命令:
sed 's/600/60/' /etc/atop/atop.daily -i [Under RedHat based systems]
sudo sed 's/600/60/' /etc/default/atop -i [Under Debian based systems]
现在您已经安装并配置了 atop,下一个逻辑问题是“我如何使用它?”。其实有几种方法:
4.如果您只是在终端中运行atop,您将看到类似top的界面,该界面每10秒更新一次。
atop
您应该看到与此类似的屏幕:
您可以使用 atop 中的不同键按不同条件对信息进行排序。这里有些例子:
5.调度信息-“s”
键-显示每个进程的主线程的调度信息。还指示有多少进程处于“运行”状态:
atop -s
6. 内存消耗 – “m”
键 – 显示所有正在运行的进程的内存相关信息 VSIZE 列指示总虚拟内存和 RSIZE 显示每个进程使用的驻留大小。
VGROW 和 RGROW 表示最后一个时间间隔内的增长。 MEM 列指示进程的驻留内存使用情况。
atop -m
7. 显示磁盘利用率 - “d”
键 - 显示系统级别的磁盘活动(LVM 和 DSK ) 列)。磁盘活动显示为通过读/写传输的数据量(RDDSK/WRDSK 列)。
atop -d
8. 显示变量信息 - “v ”
键 - 此选项显示提供有关正在运行的进程的更具体数据,如 uid、pid、gid、cpu 使用情况等:
atop -v
9. 显示进程命令 – “c ”
键:
atop -c
10. 每个程序累计 - “p ”
键 - 该窗口中显示的信息是每个程序累计的。最右边的列显示哪些程序处于活动状态(在时间间隔期间),最左边的列显示它们生成了多少个进程。
atop -p
11. 每个用户累计 - “u”
键 - 此屏幕显示在上一个时间间隔内哪些用户处于活动状态,并指示每个用户运行/运行的进程数。
atop -u
12.网络使用情况 - “n”
键(需要netatop内核模块)显示每个进程的网络活动。
要安装并激活 netatop 内核模块,您需要从发行商的存储库在系统上安装以下依赖包。
yum install kernel-devel zlib-devel [Under RedHat based systems]
sudo apt-get install zlib1g-dev [Under Debian based systems]
接下来下载 netatop tarball 并构建模块和守护程序。
wget http://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3
转到“netatop-0.3”目录并运行以下命令来安装和构建模块。
make
make install
netatop模块安装成功后,加载该模块并启动守护进程。
service netatop start
OR
sudo service netatop start
如果您想在启动后自动加载模块,请根据发行版运行以下命令之一。
chkconfig --add netatop [Under RedHat based systems]
sudo update-rc.d netatop defaults [Under Debian based systems]
现在使用“n”
键检查网络使用情况。
atop -n
13. atop 保存历史文件的目录。
/var/log/atop/atop_YYYYMMDD
其中,YYYY 是年份,MM 是月份,DD 是当月的当前日期。例如:
atop_20150423
atop 创建的所有文件都是二进制的。它们不是日志或文本文件,只有 top 可以读取它们。但请注意,Logrotate 可以读取和旋转这些文件。
假设您希望查看从服务器时间 05:05 开始的今天日志。只需运行以下命令。
atop -r -b 05:05 -l 1
atop 选项相当多,您可能希望查看帮助菜单。为此,在 atop 窗口中只需使用“?”字符即可查看 atop 可以使用的参数列表。以下是最常用选项的列表:
我希望我的文章对您有用,并帮助您缩小或防止 Linux 系统出现问题。如果您有任何疑问或希望获得有关 atop 使用的说明,请在下面的评论部分发表评论。
另请阅读:20 个监控 Linux 性能的命令行工具