top命令用于实时检测系统资源使用状况,包含进程、cpu、内存等。

    用法:top [选项]
    命令选项

    1. -p <进程号> 指定进程
    2. # top -p 999
    3. -Hp <pid> 查看进程下的线程运行情况

    top命令中常用快捷键:

    1. 1 展开多核cpu显示
    2. M 根据内存使用大小排序

    实例:

    1. top - 22:09:47 up 2 days, 6:47, 1 user, load average: 0.00, 0.01, 0.00
    2. Tasks: 127 total, 1 running, 82 sleeping, 0 stopped, 0 zombie
    3. %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
    4. %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
    5. %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
    6. %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
    7. KiB Mem : 16425432 total, 8065612 free, 6201648 used, 2158172 buff/cache
    8. KiB Swap: 2969960 total, 2969960 free, 0 used. 9899408 avail Mem
    9. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    10. 21254 999 20 0 12.436g 5.559g 18052 S 1.3 35.5 409:22.74 java
    11. 256 root 19 -1 421892 254872 253528 S 0.0 1.6 0:23.18 systemd-journal
    12. 1353 root 20 0 1348064 104244 48116 S 0.3 0.6 151:14.56 dockerd
    13. 23288 999 20 0 7232084 88936 17076 S 0.7 0.5 1:56.15 java

    说明

    1. us:用户态使用的cpu时间比,该值较高时,说明用户进程CPU消耗较大
    2. sy:系统态使用的CPU时间比
    3. id:空闲的CPU时间比,如果该值持续为0,同时syus的两倍,则通常说明系统则面临着 CPU 资源的短缺。
    4. wacpu等待磁盘写入完成时间。该值较高时,说明IO等待比较严重
    1. user 当前用户数
    2. load average cpu平均负载,三个数值分别是1min5min15min
    3. Tasks    系统当前进程数,total:总进程数,running:正在运行的进程数,sleeping:睡眠的进程数,stopped:停止的进程数,zombie:僵尸进程数
    4. %Cpu(s) cpu使用率,us:用户使用cpu百分百,sy:系统内核使用cpu百分百,id:剩余的cpu百分百
    5. Mem     内存使用信息,total:总内存大小,free:空闲的内存,used:已使用的内存,buff/cache:缓存的内存大小
    6. Swap 虚拟内存信息
    7. PID 进程id
    8. USER     进程所有者
    9. PR       优先级
    10. NI        nice值,负值表示高优先级,正值表示低优先级
    11. VIRT       进程使用的虚拟内存总量
    12. RES       进程使用的物理内存大小
    13. SHR       共享内存大小
    14. S        进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程
    15. %CPU      进程使用的CPU占用百分比
    16. %MEM      进程使用的物理内存百分比
    17. TIME+      进程使用的CPU时间总计
    18. COMMAND   命令名