top 输出中涉及到的一些参数的解释
top 命令是一种能够实时查看系统进程列表,进程内存占用率以及CPU占用率的工具。
因此,掌握一些命令和参数的意义,对我们开发也是至关重要。
如果你执行 了 top 命令,你会得到以下一些输出:
top - 10:13:52 up 15 days, 22h, 47m, 1 user, load average: 4.06, 4.26, 4.23
Tasks: 340 total, 1 running, 337 sleeping, 2 stopped, 0 zombie
%Cpu(s): 27.2 us, 5.8 sy, 0.0 ni, 56.1 id, 8.3 wa, 0.0 hi, 2.5 si, 0.0 st
KiB Mem : 9808000 total, 1514380 free, 3186592 used, 5103028 buff/cache
KiB Swap: 8191996 total, 8184316 free, 7680 used. 5558780 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7682 user1 20 0 3473924 1.271g 27756 S 148.3 13.4 95:17.86 app1
12030 user2 20 0 4065840 1.114g 34420 S 38.5 11.8 60:27.10 app2
7029 user3 20 0 3452444 882312 12808 S 34.9 8.9 6:28.13 app3
9376 user4 20 0 5488256 436720 30412 S 3.3 4.4 210:20.90 app4
1159 root 20 0 311176 109620 7100 S 2.3 1.1 287:20.80 Xorg
...
其中只需要关注其中几个地方:
- Tasks: 总任务数,和当前任务数
- Kib Mem:总内存量以及内存占用情况,包括空闲内存量(free)、已使用内存量(used)和缓存(buff/cache)
- %Cpu(s):每种CPU状态的占比,包括用户态(us)、系统态(sy)、空闲态(id)、等待中(wa)、硬件中断(hi)、软件中断(si)和虚拟化(st)等。
然后则是关注不同进程的占用信息:
- PID: 进程ID
- USER: 进程的拥有者
- %CPU : 进程使用的CPU百分比。
- **%MEM **: 进程使用的内存百分比。
- TIME+: 进程运行时间。
- COMMAND: 进程名称或命令参数
当然,还可以熟悉 top 的各个参数解释:
- -d n 指定更新间隔为n秒,默认值为5秒,可以使用小数,例如0.5表示0.5秒更新一次。
- -n count 指定更新次数,更新指定次数后停止。如果不指定该参数,top 将永久运行。
- -m 按照驻留集大小进行排序,默认值是CPU使用情况。
- -s 按照CPU使用情况进行排序,默认值是驻留集大小。
- -t 显示进程和线程信息。
- -h 不显示帮助信息。
- q 退出 top 命令