Top 是 Linux 下常用的性能分析工具,能够实时动态显示当前系统负载情况、内存使用情况,以及各个进程资源占用情况。
通过 top 命令显示系统整体情况。示例如下:
top - 17:51:14 up 69 days, 20:06, 2 users, load average: 71.81, 71.99, 63.46
Tasks: 1335 total, 1 running, 1334 sleeping, 0 stopped, 0 zombie
%Cpu(s): 34.9 us, 6.0 sy, 0.1 ni, 58.9 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 79180025+total, 53055686+free, 16692761+used, 94315792 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 61829075+avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
52974 hudson 20 0 160.1g 146.3g 73796 S 3893 19.4 1273:28 observer
33773 root 39 19 764452 104396 4408 S 8.2 0.0 14:55.16 bianque_daemon_
8951 root 20 0 3398328 16880 3284 S 4.3 0.0 1787:32 y_watchdog
11959 root 10 -10 247688 107284 4508 S 3.9 0.0 4226:29 AliYunDun
9321 root 20 0 577532 79328 4264 S 3.0 0.0 1074:18 asar
98164 hudson 20 0 159020 3560 1572 R 1.6 0.0 0:00.14 top
95053 root 16 -4 1936116 72160 4460 S 1.3 0.0 2699:29 h2o
97939 root 20 0 169488 24716 788 S 1.3 0.0 0:00.13 vsar
2529 root 20 0 162396 14628 2148 S 1.0 0.0 453:31.03 ob-sm-probe
51856 root 39 19 2215292 56896 4072 S 1.0 0.0 561:25.46 argusage
第一行显示了系统整体情况。
top -系统当前时间 up 系统开机到现在的时间,用户在线个数,load average:系统 1 分钟、5 分钟、15 分钟的 CPU 负载信息
第二行显示了系统任务情况。
Tasks:任务总数 total,正在运行的进程个数 running,正在休眠的进程个数 sleeping, 已经停止的进程个数 stopped,僵死进程个数 zombie
第三行显示了机器整体 CPU 情况。
%Cpu(s): 用户态进程占用 CPU 时间百分比 us,内核占用 CPU 时间百分比 sy,改变过优先级的进程占用 CPU 的百分比 ni,空闲 CPU 时间百分比 id,等待 I/O 的 CPU 时间百分比 wa,CPU 硬中断时间百分比 hi,CPU 软中断时间百分比 si
如果希望显示每一个 CPU 的信息,可在该界面按 1 来显示或取消显示。示例如下:
%Cpu0 : 24.3 us, 0.0 sy, 0.7 ni, 75.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 30.7 us, 0.7 sy, 1.0 ni, 67.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 40.7 us, 0.3 sy, 0.0 ni, 58.6 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
%Cpu3 : 39.1 us, 0.3 sy, 0.0 ni, 60.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 46.5 us, 0.0 sy, 0.0 ni, 53.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 10.6 us, 0.3 sy, 0.3 ni, 88.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第四行显示了系统内存信息。
KiB Mem:总物理内存,空闲物理内存,已使用物理内存,缓存的物理内存
第五行显示了交换区信息。
KiB Swap:交换区总量,空闲交换区,已使用的交换区,缓冲交换区
从第七行开始,用于显示每一个进程的信息。
可通过如下的交互命令,查看更多信息: