top命令经常用来监控linux的系统状况,比如cpu、内存的使用。
top - :: up day, :, users, load average: 0.00, 0.01, 0.00 Tasks: total, running, sleeping, stopped, zombie %Cpu(s): 0.5 us, 0.3 sy, 0.0 ni, 98.6 id, 0.4 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : total, used, buff/cache KiB Swap: total, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND root S :11.81 systemd root S :00.06 kthreadd root - S ::0H root S : root S :16.12 rcu_sched root S :00.00 rcu_bh root rt S : root - S :00.00 lru-add-drain root rt S : root S : root S : root rt S : root rt S : root S : root - S ::0H root S :00.02 kdevtmpfs root - S :00.00 netns root S :00.16 khungtaskd root S :00.00 oom_reaper root - S :00.00 writeback root S :00.00 kcompactd0 root S :00.00 ksmd root S :13.78 khugepaged root - S :00.00 crypto root - S :00.00 kintegrityd root - S :00.00 bioset root - S :00.00 kblockd root - S :00.00 ata_sff root - S :00.00 md root - S :00.00 devfreq_wq root - S :00.00 watchdogd root S :00.00 kauditd root S :00.00 kswapd0
第一行:
系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第三行:
cpu状态
us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比
id — 空闲CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中断(Hardware IRQ)占用CPU的百分比
si — 软中断(Software Interrupts)占用CPU的百分比
第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
常用参数:
在键盘上输入大写字母M 以达到以内存占用率大小顺序排列。另外输入大写字母P可以按CPU使用率排序。
每两秒钟更新一次 top ,观察整体信息,-d参数:top -d 2
假设 9999 是一个已经存在的 PID ,用top命令仅观察指定pid的程序的-p参数用法:top -d 2 -p 9999