大家好,很高兴再次和大家见面,我是你们的老朋友全栈君。
在Linux系统中,top命令用于实时显示进程的动态信息。让我们详细了解一下这个命令的使用方法和参数说明。

top命令参数详解:
-
第一行:任务队列信息
- 系统当前时间:13:52:56
- 系统开机后到现在的总运行时间:up 66 days,8min
- 当前登录用户:2users
- 负载均衡(uptime) load average:0.50,0.42,0.36,average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
-
第二行:任务进程信息
- total:系统全部进程的数量
- running:运行状态的进程数量
- sleeping:睡眠状态的进程数量
- stoped:停止状态的进程数量
- zombie:僵尸进程数量
-
第三行:CPU状态信息
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- ni:已调整优先级的用户进程的CPU百分比
- id:空闲CPU百分比,越低说明CPU使用率越高
- wa:等待IO完成的CPU百分比
- hi:处理硬件中断的占用CPU百分比
- si:处理软中断占用CPU百分比
- st:虚拟机占用CPU百分比
-
第四行:物理内存信息
- total:物理内存总量
- free:空闲内存总量
- used:使用中内存总量
- buff/cache:用于内核缓存的内存量
-
第五行:交换区内存信息
- total:交换区总量
- free:空闲交换区总量
- used:使用的交换区总量
- avail Mem:可用交换区总量
备注: 对于内存监控,在top里我们需要时刻监控第五行的swap交换分区的used,如果这个数值在不断变化,表示内核在不断进行内存和swap的数据交换,这说明内存确实不够用了。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,而空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
可用内存空间:free + buff + cache
第七行以下:进程列表
- PID:进程id
- USER:运行进程的用户
- PR:进程优先级
- NI:nice值。负值表示高优先级,正值表示低优先级
- VIRT:进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内存,也会计算在内;VIRT=SWAP+RES (单位kb)
- RES:进程实际使用的物理内存大小,不包括 Swap 和共享内存。RES=CODE+DATA (单位kb)
- SHR:共享内存大小,比如与其他进程共同使用的共享内存、加载的动态链接库以及程序的代码段等
- S:进程状态
- R:运行状态
- S:睡眠状态
- D:不可中断的睡眠状态
- T:跟踪/停止
- Z:僵尸进程
- %CPU:CPU 使用率
- %MEM:进程使用物理内存占系统总内存的百分比
- TIME+:上次启动后至今的总运行时间
- COMMAND:命令名or命令行
追加说明:
- VIRT(virtual memory usage 虚拟内存):1.进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等;2.假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量。
- RES(resident memory usage 常驻内存):1.进程当前使用的内存大小,但不包括swap out;2.包含其他进程的共享;3.如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反;4.关于库占用内存的情况,它只统计加载的库文件所占内存大小。
- SHR(shared memory 共享内存):1.除了自身进程的共享内存,也包括其他进程的共享内存;2.虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;3.计算某个进程所占的物理内存大小公式:RES – SHR;4.swap out后,它将会降下来。
top使用方法:
-
查看所有进程的资源占用情况
top
-
监控每个逻辑CPU的状况
top,按 1
-
高亮显示当前运行进程
top,按 b
-
显示完整命令
top,按 c
-
切换显示CPU
top,按 t
-
按CPU使用率从大到小排序
top,按 P
-
切换显示Memory
top,按 m
-
按Memory占用率从大到小排序
top,按 m
-
按累计运行时间Time从大到小排序
top,按 t
-
高亮CPU列
top,按 x
-
彩色高亮显示
top,按 z,按shift+z 可以调配色方案
-
通过”shift + >”或”shift +
top shift + >或shift + <
-
忽略闲置和僵死进程,这是一个开关式命令
top,按 i
-
杀掉进程
top,按 k,输入PID
-
改变内存的显示单位,默认为KB
top,按 e (针对列表)top,按 E (针对头部统计信息)
-
退出top程序
按 q
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/24be14e19b1e7b795df17629e09533c7
原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c










