在Linux的top命令输出中,各列的含义

在Linux的top命令输出中,各列的含义如下:

PID(进程ID)

含义:进程的唯一标识符,用于唯一标识系统中的每个进程。
示例806表示MySQL进程的ID。


USER(用户)

含义:进程的所属用户,即启动该进程的用户名或UID。
示例mysql表示该进程由MySQL用户启动。


PR(优先级)

含义:进程的动态调度优先级(Priority),由内核自动调整。值越小优先级越高,范围通常为 0-39(普通进程)或 RT/负数(实时进程)。
细节
• 普通进程的 PR = 20 + NI(NI为进程的nice值)。
• 实时进程显示为RT或负数(如-2,对应实时优先级98)。


NI(Nice值)

含义:用户可调整的优先级偏移量(Nice Value),范围 -20(最高)到19(最低)
作用:通过renice命令调整NI值,普通用户只能降低优先级(NI≥0),需sudo权限提高优先级(NI<0)。


VIRT(虚拟内存)

含义:进程使用的总虚拟内存(Virtual Memory),包括代码、数据、共享库及映射文件,单位为KiB。
公式VIRT = SWAP + RES


RES(常驻内存)

含义:进程当前实际占用的物理内存(Resident Memory),单位为KiB。
细节:包含与其他进程共享的内存部分(如动态库)。


SHR(共享内存)

含义:进程与其他进程共享的内存(Shared Memory),单位为KiB。
示例:动态库代码段会被多个进程共享,因此计入SHR


S(进程状态)

含义:进程的当前状态,常见值包括:
R:运行中(Running)
S:睡眠(Sleeping,等待事件)
D:不可中断的睡眠(通常因I/O阻塞)
Z:僵尸进程(已终止但未被父进程回收)。


%CPU(CPU使用率)

含义:进程在最近一次刷新周期内占用的CPU时间百分比。
注意:多线程进程可能超过100%(如使用8核CPU的进程可能显示800%)。


%MEM(内存使用率)

含义:进程占用的物理内存占系统总内存的百分比。


TIME+(累计CPU时间)

含义:进程自启动以来累计使用的CPU时间,格式为分钟:秒.百分秒
注意:与进程实际运行时间不同,仅统计CPU执行时间(空闲等待不计入)。


COMMAND(命令)

含义:启动进程的命令名称或完整命令行(通过c键切换显示模式)。
示例mysqld表示MySQL服务进程。


总结

列名关键点
PR实时进程显示RT,普通进程由NI值计算
NI负值需sudo权限设置,普通用户只能降低优先级
VIRT包含所有虚拟内存(如映射文件),可能远大于实际使用量
RES实际物理内存占用,包含共享部分
SHR共享内存可被其他进程复用(如动态库代码)
TIME+仅统计CPU执行时间,与进程存活时间无关

通过top界面按f键可自定义显示列,按Shift + <>可调整排序方式(如按CPU或内存排序)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值