群发资讯网

Linux系统的"任务管理器"!top命令如何帮你监控系统状态

Linux top命令指标与交互解析top是 Linux 中常用的分析工具之一,它以实时方式展示 CPU、内存及进程状态
Linux top命令指标与交互解析

top是 Linux 中常用的分析工具之一,它以实时方式展示 CPU、内存及进程状态。虽然界面看似简单,但其中包含的指标信息非常丰富。本文结合实际运行截图,对 top 的数据指标进行解析,以及补充说明常用的交互按键。

如图所示为top命令输出内容,上半部分为系统级信息,下半部分为进程级信息。

1.系统信息解析

图中前五行是对整个系统资源的简单汇总,具体含义如下:

(1)系统信息和平均负载

top - 10:03:40 up 30 days, 23:31,  1 user,  load average: 0.00, 0.01, 0.00

10:03:40:当前时间

up 30 days,23:31:系统已运行时间

1 user:登录系统的用户数

load average:1 / 5 / 15 分钟的系统平均负载,代表了正在运行、等待 CPU、以及等待 IO 的任务数量的平均值(Running + Runnable+ D),用来反映系统整体的排队压力

(2)任务统计

任务: 332 total, 1 running, 251 sleeping, 0 stopped, 0 zombie

running:正在运行(R 状态,Running + Runnable)

sleeping:可中断睡眠(S 状态,大部分进程处于此状态,不可中断睡眠D不在此统计)

stopped:被暂停进程(T状态)

zombie:僵尸进程(Z状态,父进程未回收资源)

(3)CPU 使用情况

%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st

us:用户态使用(应用程序)

sy:系统态使用(内核)

ni:具有nice 值(非零)的进程消耗的 CPU 时间占比

id:空闲

wa:磁盘或网络I/O等待

hi/si:硬件/软件中断

st:虚拟机资源被宿主机抢占用于其他任务

(4)内存使用情况

KiB Mem:  8117340 total, 363508 free, 2049492 used, 5704340 buff/cache

total:总内存

free:空闲内存

used:被使用内存

buff/cache:缓存与页缓存,用于提升磁盘 I/O 性能,可回收

(5)Swap 交换区

KiB Swap: 2097148 total, 2043900 free, 53248 used, 5747120 avail Mem

total:Swap 总大小

free:未使用的 Swap 空间

used:已使用的 swap,过高可能表示内存不足

avail Mem:实际可用内存量(新内存模型),比 free 更准确,用于判断系统是否真正存在内存压力

2.进程列表字段解析3.top 的常用交互按键

(1)在进入启动top界面时可以携带部分参数:

top -d [秒数]

设定top启动后刷新时间

top -n [次数]

设定top运行次数,刷新n次后自动退出

top -p [PID]

只监视指定的进程

top -c

以展开COMMAND的状态进入top,便于分析具体进程命令

(2)在top交互界面中常用命令:

P:按照 CPU 使用进行排序

M:按内存占用排序

e:切换显示单位,默认KB

c:切换显示完整命令行

1:显示每个 CPU 的独立使用情况

k:杀死进程,输入PID可以快速杀死指定进程

u:仅显示某个用户的进程

d:调整刷新周期,默认为3s

ESC:退出top

H:显示帮助信息,查看更详细的命令使用