Linux 中的 atop 命令指南

TOOP命令是用于监视Linux中的系统资源的工具。它显示了与进程级别的系统资源负载量相关的大量信息。如果掌握了这一实用程序,可能会给用户带来无限的好处。

首先,我们必须在系统上安装top命令。Debian/Ubuntu用户可以通过以下方式执行此操作:

1sudo apt install atop

其他Linux用户可以使用他们的标准包管理器,后跟‘topop’关键字。

此命令能够显示与系统相关的多个机密信息。为了防止数据抽象,我们可以使用sudo su‘’sudo-S‘获取提升访问权限。我们有关于sudo.的完整文档

top命令的基本输出

要显示系统资源的所有进程级使用情况,只需在终端中运行‘top’即可。

1atop

Atop基本输出1

如我们所见,整个布局分为两个面板。上面的面板提供系统资源的累计使用情况,而下面的面板显示每个进程的分解信息。让我们来看看每一个

TOOP命令累计统计量

此视图中的每个条目都侧重于一个特定的系统资源。

1.流程相关统计

  • PRC-代表过程。 -前两个值为‘sys’(系统)和‘user’进程消耗的时间 。 -后跟进程总数 ,即‘# proc’。 -下一个值是系统中当前运行的线程数 。(‘# Trun’) -‘# tslpi’表示当前处于休眠状态 和** 可中断状态** 的** 线程数** 。 -‘# tslPU’表示当前处于休眠状态 和** 不可中断状态的** 线程数** 。 -下列值为僵尸进程数 。 -下一步是克隆系统调用数 。 -最后一个值是该时间内结束 的进程数** 。(‘# 退出’)

2.性能相关统计

  • CPU-与CPU利用率相关。 -前两个值表示系统进程和用户进程对所有内核的使用百分比 。 -用于中断请求 的CPU使用百分比。(‘irq’) -下一个值是所有核加起来的空闲百分比 。 -下列值表示每个CPU内核需要等待 的时间。 -下一步是窃取时间的百分比。 -‘Guest’表示Guest-Percent ,即在其他虚拟机上花费的CPU时间。 -后两个值表示CPU的当前频率
  • 现在‘top’显示 每个核** 的上述统计数据** 。
  • CPL-指的是CPU负载。 -前三个值分别为1分钟、5分钟、15分钟的平均负载 。 -后跟上下文切换次数 (‘csw’) -接下来是中断次数 (‘intr’) -最后一个值是可用CPU数

3.内存相关统计

  • MEM-内存利用率 -支持的物理总内存 。 -内存 当前** 空闲** 。 -当前缓存 。 -缓冲区中的‘buff’文件系统元数据占用的内存量。 -内核内存分配 的内存总和,表示为‘slet’。 -共享内存量。
  • SWP-交换内存。

3.磁盘相关统计

  • dsk-磁盘使用率 -第一个值表示系统处理请求 忙** 的时间** 百分比。 -阅读请求 发出。 -写入请求 已发出。 -每个读取请求 读取** 数据** 的速率,单位为KB。 -每个写入请求 写入** 数据** 的速率,单位为KB。 -接下来的两个值是磁盘上读写 的** 时间速率** ,单位为MB。 -最后一个值是平均 处理请求的毫秒数。**

4.网络相关统计

  • 网络-传输层的网络统计数据 -传输‘表示网络中的传输层 ,负责处理数据协议。 -系统遵循TCP协议接收的分段数 。(‘tcpi’) -发送的段数。 (‘tcpo’) -UCP协议的类似统计。(‘’udpi‘’表示UDP入站)和(‘udpo’表示UDP出站)。 -‘tcpao’活跃的TCP打开连接数 。 -与之前的‘tcppo’相对的是被动的tcppo连接数 ,但仍处于开放状态。 -tcp重传次数‘tcprs’。 -UDP输入错误‘udbie’的数字。
  • NET-网络层的网络统计数据 -‘网络’表示网络层 ,负责处理Internet协议,包括IPv4和IPv6。 -网络接口接收的IP包数 。(‘ipi’) -接口传出的IP包数 。(‘IPO’) -转发到其他接口的IP包数 。(‘ipfrw’) -IP包发送量 。(‘deliv’) -最后两个条目是网络接口接收和发送的ICMP数据包数
  • 以下行表示每个活动的网络接口。 -第一个值是网络接口的名称 ,如‘wlp19s0’。 -以下两个包是通过特定接口接收和发送的 包的数量。(‘PCKI’‘PCKO’) -网速 ,单位为兆比特(Mbps),单位为‘sp’。 -每秒接收和发送比特 的** 速率** 。(‘是’‘和’‘所以’‘) -**收发报文中** 错误数** (‘Erri’‘Erro’)。 -后两个值均为**丢包量** 。(‘drpi’‘drpo’`)

对TOOP命令顶部面板的解释到此结束。

每个进程的系统资源

值得注意的是,‘top’命令中的值在一定的时间间隔后不断更新。

‘atop’命令的常规输出显示每个进程条目的以下详细信息:

  • PID --** 进程ID** 。
  • SYSCPU -进程在** 系统处理过程中的** CPU消耗** 。**
  • USRCPU -进程在** 用户模式下运行时的** CPU消耗** 。**
  • VGROW -进程自** 上次** 值** 更新** 以来** 占用的** 虚拟内存量** 。
  • RGROW -自上次值更新以来增长的** 常驻(物理)内存量** 。
  • RDDSK -读取磁盘时传输的** 数据** 的大小。
  • WRDSK -在** 磁盘写入** 过程中传输的** 数据** 大小。
  • RUID -进程执行时使用的** 真实用户ID** 。
  • EUID -流程执行的** 有效用户ID** 。
  • ST -进程当前的** 状态** 。
  • exc -进程终止后的** 退出码**
  • THR -进程内的** 线程数** 。
  • S -进程的** 主线程** 当前的** 状态** 。
  • CPU -整个进程的** CPU使用率** 。
  • CMD -进程名称** 。

在此通用输出中,进程根据CPU利用率百分比进行排序。正如我们所看到的,在这个特定的输出中,我们获得了每种类型的系统资源的少量信息。

让我们尝试研究每种类型的系统资源的进程级信息。

top命令基于内存的输出

‘top’命令提供了研究系统中运行的每个进程的内存消耗的机会。我们可以通过运行以下命令来实现此目的:

1atop -m

顶层内存输出

正如我们所看到的,即使我们添加了内存选项‘-m’,顶部面板也保持不变。现在让我们了解每个流程条目的列。

  • PID --** 进程ID** 。
  • TID -** 线程ID** 。
  • MINFLT -通过从空闲页面访问数据来解决的** 小页面错误数** 。
  • MAJFLT -通过专门从磁盘取回数据来解决的** 主要页面错误数** 。
  • VSTEXT -进程** 文本** 占用的** 虚拟内存** 。
  • VSLIBS -进程的** 共享库** 占用的** 虚拟内存** 。
  • VDATA -进程的** 私有数据** 的** 虚拟内存** 大小。
  • VSTACK -进程的** 私有堆栈** 的** 虚拟内存** 大小。
  • VSIZE -进程的** 总虚拟内存** 大小。
  • RSIZE -进程占用的** 总驻留内存** 。
  • MEM -进程消耗的** 内存百分比** 。

这些进程是根据‘’MEM‘’列进行排序的。

由于‘atop’在某种程度上是一个交互式命令实用程序,我们可以从其内部更改列。我们所要做的就是在特定选项显示信息时键入该选项。

例如,在终端运行‘topop’后,只需输入‘m’即可切换到内存特定的输出。

Linux下使用ATOM命令输出特定于磁盘的输出

要提取与磁盘利用率相关的信息,可以使用‘-d’选项和‘topop’命令。

1atop -d

托盘新建

在特定于磁盘的输出中没有太多需要注意的东西。其中一些主要发现是:

  • RDDSK -读取磁盘时传输的** 数据** 的大小。
  • WRDSK -在** 磁盘写入** 过程中传输的** 数据** 大小。
  • WCANCL --最初** 写入** ,后来** 撤回** 的** 数据大小
  • dsk --** 磁盘* ** 占用的** 百分比** 。
  • CMD -进程的** 名称** 。

必须注意的是,进程是根据DSK列进行排序的。

使用TOOP命令查找后台运行的命令

这为我们提供了作为命令行输出格式的进程在后台运行的命令。

1atop -c

顶层命令行1

如果复制粘贴命令行列下的行,则可以重新运行相同的进程。该输出准确地告诉我们在后台运行了什么命令来启动该进程。

基于线程的信息

除了检查进程信息之外,atop命令还提供了检查特定于线程的资源利用率的功能。要访问此输出,我们可以运行以下命令:

1atop -y

或者,当该命令已经在显示系统资源信息时,只需按`y‘’键。

顶层线程信息

很明显,所有系统资源列都没有更改。所有添加的都是它们各自进程的线程数。

其他信息

使用`‘top’‘命令可以提取多种类型的信息。其中一些有用的方法包括:

1.查找流程开始时间

使用‘-v’选项,我们可以获得进程特征。

1atop -v

在Start Time

2.系统中每个用户的进程数

1atop -au

在用户Edited

3.进程运行在哪个核上?

这种特定类型的信息属于进程的调度特性。它可以通过使用-s选项访问。

1atop -s

用户进程顶部1 1

几个‘顶端’小把戏

下面是一些可能有用的‘’top‘’命令技巧:

  • 暂停‘顶端’屏幕-使用‘z’键。
  • 更改值更新的时间间隔-使用``i‘`键,后跟秒数,我们希望将其更改为。
  • 中断以立即更新值-使用‘t’键。
  • 退出显示-使用‘q’键。

结论

我们知道,对于任何Linux用户来说,‘top’命令都太难处理了。学习这一卓越的命令需要耐心和毅力。如有任何疑问,请随时在评论区联系我们。

Published At
Categories with 技术
Tagged with
comments powered by Disqus