top命令用于实时检测系统资源使用状况,包含进程、cpu、内存等。
用法:top [选项]
命令选项:
-p <进程号> 指定进程
# top -p 999
-Hp <pid> 查看进程下的线程运行情况
top命令中常用快捷键:
1 展开多核cpu显示
M 根据内存使用大小排序
实例:
top - 22:09:47 up 2 days, 6:47, 1 user, load average: 0.00, 0.01, 0.00
Tasks: 127 total, 1 running, 82 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 1.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.7 us, 1.3 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16425432 total, 8065612 free, 6201648 used, 2158172 buff/cache
KiB Swap: 2969960 total, 2969960 free, 0 used. 9899408 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21254 999 20 0 12.436g 5.559g 18052 S 1.3 35.5 409:22.74 java
256 root 19 -1 421892 254872 253528 S 0.0 1.6 0:23.18 systemd-journal
1353 root 20 0 1348064 104244 48116 S 0.3 0.6 151:14.56 dockerd
23288 999 20 0 7232084 88936 17076 S 0.7 0.5 1:56.15 java
说明:
us:用户态使用的cpu时间比,该值较高时,说明用户进程CPU消耗较大
sy:系统态使用的CPU时间比
id:空闲的CPU时间比,如果该值持续为0,同时sy是us的两倍,则通常说明系统则面临着 CPU 资源的短缺。
wa:cpu等待磁盘写入完成时间。该值较高时,说明IO等待比较严重
user 当前用户数
load average cpu平均负载,三个数值分别是1min、5min、15min
Tasks 系统当前进程数,total:总进程数,running:正在运行的进程数,sleeping:睡眠的进程数,stopped:停止的进程数,zombie:僵尸进程数
%Cpu(s) cpu使用率,us:用户使用cpu百分百,sy:系统内核使用cpu百分百,id:剩余的cpu百分百
Mem 内存使用信息,total:总内存大小,free:空闲的内存,used:已使用的内存,buff/cache:缓存的内存大小
Swap 虚拟内存信息
PID 进程id
USER 进程所有者
PR 优先级
NI nice值,负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量
RES 进程使用的物理内存大小
SHR 共享内存大小
S 进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程
%CPU 进程使用的CPU占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计
COMMAND 命令名