top - 16:53:39 up 10 min, 3 users, load average: 0.00, 0.06, 0.07
Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1914488k total, 467684k used, 1446804k free, 19604k buffers
Swap: 2047992k total, 0k used, 2047992k free, 162136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
内容解释:
第一行
16:53:39当前时间
up 10 系统运行时间,格式为时:分
3 user 当前登录用户数
load average: 0.00, 0.06, 0.07系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二行
Tasks: 128 total 进程总数
1 running 正在运行的进程数
127 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第三行
Cpu(s): 0.3% us 用户空间占用CPU百分比
0.3% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
99.3% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
第四行
Mem: 1914488 total 物理内存总量
467684k used 使用的物理内存总量
1446804 free 空闲内存总量
19604k buffers 用作内核缓存的内存量
第五行
Swap: 2047992k total 交换区总量
0k used 使用的交换区总量
2047992k free 空闲交换区总量
162136k cached 缓冲的交换区总量
第六行
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
VIRT:virtual memory usage
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的 使用量
RES:进程占用的物理内存
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:进程使用的共享内存
SHR:shared memory
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES �C SHR
4、swap out后,它将会降下来
DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行