Spiga

Linux关于TOP命令

Linux一般查看应用进程cpu或mem占用情况用pstop两个命令,但ps(ps -aux或ps -tax)只提供系统进程过去一段时间的一次性快照,要获得系统实时信息就需要用top命令了。
top命令输出:
top - 01:50:44 up 23 days, 14:52, 14 users, load average: 0.00, 0.00, 0.02
Tasks: 171 total, 1 running, 163 sleeping, 1 stopped, 6 zombie
Cpu(s): 3.5%us, 4.4%sy, 0.0%ni, 91.3%id, 0.1%wa, 0.0%hi, 0.7%si, 0.0%st
Mem: 2074988k total, 1666204k used, 408784k free, 287252k buffers
Swap: 4194296k total, 176748k used, 4017548k free, 1021808k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2112 260 232 S 0 0.0 0:11.78 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.72 migration/0
4 root 15 -5 0 0 0 S 0 0.0 0:04.70 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.11 watchdog/0

这里我主要讲top命令的内存mem的查看方法,top输出的VIRT列出了每个进程分配的虚拟内存,RES列出了驻留集内存,这个两个数字都包括了像库这样的共享资源,不准确。DATA列里则是更直接的实际内存值,要显示DATA列,需在执行top之后键入f,再从列表中选择DATA,DATA值就是每个进程数据和堆栈占用的内存量,因此这个值更准确。
带DATA列的输出:
top - 01:52:13 up 23 days, 14:53, 15 users, load average: 0.20, 0.05, 0.03
Tasks: 173 total, 1 running, 165 sleeping, 1 stopped, 6 zombie
Cpu(s): 0.3%us, 0.5%sy, 0.0%ni, 98.8%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2074988k total, 1666836k used, 408152k free, 287256k buffers
Swap: 4194296k total, 176748k used, 4017548k free, 1021860k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ DATA COMMAND
31542 hobbes 20 0 5900 1936 1456 R 0 0.1 0:00.02 700 top
1 root 20 0 2112 260 232 S 0 0.0 0:11.78 240 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 0 kthreadd

0 评论: