top
是在Linux上常用的性能监控工具,在WSL 2上执行top
的示意如下:
top - 21:57:51 up 39 min, 0 users, load average: 0.02, 0.01, 0.00
Tasks: 5 total, 1 running, 4 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 6434848 total, 6146444 free, 62664 used, 225740 buff/cache
KiB Swap: 2097152 total, 2097152 free, 0 used. 6151452 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 892 544 484 S 0.0 0.0 0:00.04 init
7 root 20 0 892 76 16 S 0.0 0.0 0:00.00 init
8 root 20 0 892 76 16 S 0.0 0.0 0:00.03 init
9 darren 20 0 26100 8028 3320 S 0.0 0.1 0:00.15 bash
761 darren 20 0 42104 3620 3120 R 0.0 0.1 0:00.00 top
top
命令的结果共分2部分,系统统计信息和进程信息。
系统统计信息部分的第一行是任务队列信息,等于uptime
命令的执行结果:
darren@DESKTOP-PSPUMSB:~$ uptime
21:58:45 up 40 min, 0 users, load average: 0.01, 0.00, 0.00
从左向右分别为:系统当前时间,系统运行时间,当前登录用户数,以及系统最近1分钟、5分钟、15分钟的平均负载。
第二行是进程统计信息,分别是各种类型的进程数量。
第三行是CPU统计信息:
- us:用户空间CPU使用率
- sy: 内核空间CPU占用率
- ni: 用户空间改变过进程优先级的进程的CPU占用率
- id: 空闲CPU占用率
- wa: 等待I/O的CPU占用率
- hi: 硬件中断请求
- si: 软件中断请求
第四行Mem行是内存使用情况,从左到右依次是:物理内存总量,已使用的物理内存,空闲物理内存、内核缓冲使用量。
第五行Swap行从左到右依次是:交换区总量、空闲交换区大小、缓冲交换区大小。
第二部分开始是进程信息部分显示各个进程的资源使用情况:
- PID:进程ID
- PPID:父进程ID
- RUSER:真实用户名称
- USER:进程所有者的用户名
- UID:进程所有者的UID
- GROUP:进程所有者的属组
- TTY:启动进程的终端名,不是从终端启动的则为
?
- PR:优先级
- NI:进程的nice值,负值表示高优先级,正值表示低优先级
- P:最后使用的CPU
- %CPU:上次更新到现在的CPU使用占比
- TIME:进程使用CPU的总时间,单位:秒
- TIME+:进程使用CPU的总时间,单位:1/100秒
- %MEM:进程使用的物理内存占比
- VIRT:进程使用的虚拟内存总量,单位KB,VIRT = SWAP + RES
- SWAP:进程使用的虚拟内存中被换出的大小,单位KB
- RES:进程使用的虚存中未被换出的物理内存大小,单位KB,RES=CODE+DATA
- CODE:可执行代码占用的物理内存大小,单位KB
- DATA:可执行代码以外(数据段+栈)占用的物理内存,单位KB
- SHR:共享内存大小,单位KB
- nFLT:页面错误次数
- nDRT:最后一次写入至今,被修改过的页面数
- S:进程状态:D表示不可中断的睡眠;R表示运行;S表示睡眠;T表示跟踪/停止;Z表示僵尸进程。
- COMMAND:命令名/命令行,通过按键
c
交互命令切换。 - WCHAN:若该进程在睡眠,显示睡眠中的系统函数名
- Flags:任务标志,参考shed.h
top
命令下,按f
键可以选择要展示的列,通过上下按键进行移动,按d
键设置是否显示,按q
退回到top
信息页面。
top
页面下,有以下的交互命令:
- h:显示帮助,查看
top
命令页面的可用交互命令; - k:Kill一个进程,会要求输入进程号
- q:退出
top
命令 - c:切换显示命令行名称和完整的命令行
- M(先按
Caps
后再按字母):对结果根据驻留内存大小进行排序 - P:按照CPU占比排序
- T:按照时间/累计时间排序
- 数字1:显示所有的CPU负载情况
例如,4核CPU的机器上,top命令界面按1
,会在系统统计信息部分的CPU行增加显示每个CPU核心的具体情况:
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
网友评论