top是给Linux设计的

top是给Linux设计的。在FreeBSD VM里面的Free概念和其他OS完全不同,使用top查看Free内存对于FreeBSD来说可以说没什么意义。正确的方法是看vmstat。

# vmstat
procs       memory       page                        disk   faults       cpu
r b w      avm    fre   flt   re   pi   po   fr   sr ad0   in   sy   cs us sy id
0 2 1   270512   20316   30   0   0   0   26   5 1223 1589   98 593   1   1 99

最好使用vmstat t [n]命令,例如 vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况。

procs:
r-->在运行的进程数
b-->在等待io的进程数(等待i/o,paging等等)
w-->可以进入运行队列但被替换的进程

memoy(以k为单位,包括虚拟内核和真实内存,正在运行或最近20秒在运行的进程所用的虚拟内存将被视为active)
avm-->活动的虚拟内存
free-->空闲的内存

pages(统计错误页和活动页,每5秒平均一下,以秒为单位给出数值)
flt-->错误页总数
re-->回收的页面
pi-->进入页面数
po-->出页面数
fr-->空余的页面数
sr-->每秒通过时钟算法扫描的页面

disk 显示每秒的磁盘操作(磁盘名字的前两个字母加数字,默认只显示两个磁盘,如果有多的,可以加-n来增加数字或在命令行下把磁盘名都填上。)

fault 显示每秒的中断数
in-->设备中断
sy-->系统中断
cy-->cpu交换

cpu 表示cpu的使用状态
cs-->用户进程使用的时间
sy-->系统进程使用的时间
id-->cpu空闲的时间

解释:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果pi,po 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。