linux top命令详解


load average: ø. 05, ø. 02, 0.00 top - up 3:27, 2 users, Tasks: 248 total, 1 running, 247 sleeping, 0 stopped, 0 zombie Cpu(s): ø.ø%us, Ø. Ø%sy, Ø. ø%ni, 100.0%id, Ø.Ø%wa, Ø.Ø%hi, Ø. 0%si, Ø. 0%st ø.ø ø.ø ø.ø Mem: Swap: PID 2653 1 2 3 4 5 6 7 8 8192688k total, 16777212k total, 1955116k used, 0k used, 6237572k free, 16777212k free, 26392k buffers 125948k cached USER rtkit root root root root root root root root root PR 21 20 20 RT 20 RT RT RT RT 20 NI 1 ø ø ø ø ø VIRT 164m 19356 ø ø ø ø RES 1180 1556 0 ø O ø SHR S %CPU +1E-M TIME+ 992 1236 ø ø ø ø ø o ø ø S S S S S S S S S s ø. o. ø. ø. ø. ø. ø. o. ø. 3 0 ø. 0:02. ø:øø. 0:00. 0:00. ø:øø. 0:00. 0:00. ø:øø. ø:øø. 43 16 22 09 01 26 COMMAND rtkit—daemon init kthreadd mig ration/0 ksoftirqd/0 stopper/Ø watchdog/Ø mig ration/l stopper/l ksoftirad/l

按1可以看每个cpu的使用情况


第一行

当前时间   运行时间   当前登陆用户   负载均衡(1分钟、5分钟、10分钟)

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了


第二行

Tasks: 248 total, I running, 247 sleeping, stopped, zombie

总共248个进程     1个正在运行    247个休眠   0个停止   0个僵尸进程


第三行

Cpu(s): O. 0%us, ø. 0%ni, 100.0%id, ø. 0%wa , ø. ø%hi, ø.ø%si, O. 0%St

us(user space):用户空间占用cpu的百分比

sy(sysctl):内核空间占用cpu的百分比

ni()— 改变过优先级的进程占用CPU的百分比

id(idolt): 空闲CPU百分比

wa(wait): IO等待占用CPU的百分比

hi(Hardware IRQ):硬中断占用CPU的百分比

si(Software Interrupts):软中断占用CPU的百分比


第四行

Mem: 8192688k total, 1955116k used , 6237572k free, 26392k buffers

总内存   使用内存   空闲内存   buffers(缓存的内存量)


第五行

交换分区

可用内存=free + buffer + cached(幻城的交换区总量)

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,

第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。

纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。


第六行

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 — 进程名称(命令名/命令行)


请使用浏览器的分享功能分享到微信等