当前位置:首页>Linux>Linux统计信息之top

Linux统计信息之top

  • 2026-10-10 18:00:44
Linux统计信息之top

top命令是Linux系统下的实时系统监控程序,可持续刷新并展示当前运行进程及系统整体资源使用状况,涵盖CPU负载、内存占用与系统运行时间等指标。该工具支持在终端内以交互方式管理进程,且系统统计数据会自动持续更新,无需中断或重新启动命令。

不带任何选项运行top会启动交互式监控界面。显示内容会自动刷新,并列出活动进程,同时展示CPU使用率、内存使用率、系统平均负载以及系统运行时间。按q键即可退出界面。

PID

进程ID编号

USER

进程的持有用户

PR

进程运行的优先级,值越小优先级越高,会越早获得CPU的执行权

NI

进程的nice值,表示进程可被执行的优先级的修正数值

VIRT

进程使用的虚拟内存总大小,单位为KB

RES

进程使用的并且未被虚拟内存换出的物理内存大小(常驻内存),单位为KB

SHR

进程使用的共享内存大小,单位为KB

S

进程当前的运行状态:• D:不可中断的睡眠状态• R:运行中• S:休眠中• T:跟踪/停止• Z:僵死中(Zombie)

%CPU

进程运行时CPU的占用比

%MEM

进程使用的内存占用比

TIME+

进程占用的CPU总时长

COMMAND

正在运行的命令名称

top命令的输出分为多个部分,每个部分都包含有关系统性能和进程的具体信息。本节将依据所展示的信息,对输出内容进行逐段解析。

运行时间/摘要信息(Uptime/Summary)

首次运行top命令时,第一行(通常称为标题行或摘要行)会显示与uptime命令相似的信息。它展示以下内容:

System Time

系统上的当前时间。

Uptime

系统自上次启动以来持续运行的时长。

Users

当前登录到系统的用户数量。

Load Average

以三个逗号分隔的数字显示。这三个数值分别代表过去1分钟、5分钟和15分钟内,等待CPU时间的进程平均数量。数值1.0表示单核CPU处于完全满载状态;数值越高,表明系统越可能存在过载风险。

任务(Tasks)

任务部分提供了系统当前管理的所有进程的概览,并根据进程的状态对其进行分类。

total

表示系统当前正在跟踪的进程总数。

running

表示当前正在主动占用CPU时间的进程数量。

sleeping

指当前处于空闲状态、等待信号唤醒的进程。

stopped

表示已被手动停止的进程,通常是通过信号触发的。

zombie

表示已完成执行但仍在进程表中保留条目的进程。

%CPU

%CPU行显示了CPU时间在不同类型任务之间的分配情况,有助于识别哪些活动正在消耗CPU资源。

us

用户空间占用CPU的百分比(业务逻辑)

sy

内核空间占用CPU的百分比(系统调用)

ni

调整nice值(进程优先级)所占用的CPU百分比

id

空闲CPU时间

wa

等待IO的CPU时间(磁盘/网络等)

hi

硬件中断消耗的CPU时间

si

软件中断消耗的CPU时间

st

被虚拟机偷走的CPU时间(在虚拟化环境中常见)

内存(MiB Mem)

MiB Mem行提供了系统物理内存(RAM)使用情况的详细信息,有助于了解内存如何被进程和系统分配和使用。

total

可用物理内存总量

free

空闲的内存

used

已使用内存729MB

buff/cache

用于缓存文件和cache的内存为896.9MB

交换区 (MiB Swap)

Swap部分显示了基于磁盘的内存使用情况,当RAM已满时,系统会使用这部分内存。

total

交换内存总量,即RAM已满时使用的基于磁盘的内存

free

未使用的交换内存

used

当前正在使用的交换内存

avail Mem:

可用内存总量,即空闲内存与缓冲内存之和

top是Linux/Unix系统中最常用的实时进程监控工具。以下是它的主要选项和用法分类:

单个CPU核心统计信息

按键盘上的1键可查看每个CPU核心的单独统计信息。重复按1键可切换核心统计视图的开启与关闭。

CPU使用图

如果你希望以图形方式展示CPU使用情况,top命令支持基础的ASCII图表,用以表示每个CPU核心的使用率。按t键可开启或关闭这些图表。

内存使用图

该命令还支持以图形方式显示内存和交换内存的使用情况。若要直观展示内存使用状况,请按m键;再次按m键即可隐藏这些行。

更改显示单位

按大写E键选择top中内存值所使用的单位。按小写e键选择进程列表视图中显示的单位。可用选项包括:kibibytes(KiB),mebibytes(MiB)gibibyte(GiB),tebibytes(TiB),pebibytes(PiB),exbibytes(EiB — 仅适用于内存值)当前正在使用的值是第四行和第五行的首项。在以下示例中,我们将仪表板内存单位设置为gibibytes,进程列表内存单位设置mebibytes。

按特定用户筛选进程

按特定用户筛选进程-u选项允许您显示特定用户的所有进程。在top运行时按u键,或在启动top时使用以下语法:按u键后,系统会提示输入用户名或用户ID(huihan)。

按PID监控特定进程

-p选项将显示范围限制为你通过进程ID(PID)指定的单个或多个进程。其他运行中的进程将不会显示。

显示进程命令行

若要查看完整的命令行而非仅显示进程名称,请按c键。再次按c键可切换回仅显示进程名称。

查看进程层次结构

若要查看哪些进程是由其他进程启动或派生的,请按V键。当你需要查看系统中父子进程的层次关系时,树状视图非常有用。

向进程发送信号

使用top命令可以向运行中的进程发送任何信号。按k键并输入进程PID,top会提示你输入要发送的信号编号。如果不输入特定信号,默认将发送终止信号(SIGTERM,信号15)来终止该进程。在这里,我们终止了PID为1667的stress-ng-vm进程。

更改进程优先级

top命令允许用户更改进程优先级(nice值)。运行top并按r键,

出现提示时,输入进程ID并按Enter键;输入PID后,程序会提示输入新的nice值,输入新值并按Enter键。

注意:负的nice值表示更高的进程优先级。

我们将某个stress-ng-vm实例的nice值设置为10:

top命令支持使用过滤表达式来限定列表中显示的进程。按o键激活过滤选项,程序会提示你输入过滤表达式。我们输入了以下过滤条件:%mem>5.0这表示仅显示内存占用超过5.0%的进程。

最新文章

随机文章