网站搜索

如何安装“atop”来监控 Linux 系统进程的日志记录活动


Atop 是一个全屏性能监视器,可以报告所有进程的活动,甚至是已经完成的进程。 Atop 还允许您保留系统活动的每日日志。同样的方法可用于不同的目的,包括分析、调试、查明系统过载的原因等。

顶部功能

  1. 查看所有进程的总体资源消耗情况
  2. 检查已使用了多少可用资源
  3. 记录资源使用情况
  4. 检查各个线程的资源消耗
  5. 监控每个用户或每个程序的进程活动
  6. 监控每个进程的网络活动

Atop最新版本是2.1,包含以下功能

  1. 新的日志记录机制
  2. 新的关键标志
  3. 新字段(计数器)
  4. Bug修复
  5. 可配置的颜色

在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 显示每个进程使用的驻留大小。

VGROWRGROW 表示最后一个时间间隔内的增长。 MEM 列指示进程的驻留内存使用情况。

atop -m

7. 显示磁盘利用率 - “d” 键 - 显示系统级别的磁盘活动(LVMDSK ) 列)。磁盘活动显示为通过读/写传输的数据量(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 性能的命令行工具