我们来看看top的输出,里面有很多的问题,我们纠正一下。
Snap1.jpg
作为DBA来说,我们经常关心每个进程的使用物理内存的情况。
进程使用内存的情况:
1、私有内存(进程独立占有的物理内存)
2、共享内存
top输出中的res列就是内存使用的物理内存的情况,但是这里面包括了共享内存段。
因此这个输出不能算作是进程实际占用的物理内存,我们需要使用pmap命令来查看每个进程实际占用物理内存的情况,不能使用这个命令。
我们经常关心的是server process进程占用内存的情况,因为后台进程占用的物理内存很小,我们可以不去太多的关心,但是server process占用的内存可能很多,而且变化很大,是我们关心的进程。
top输出中的列virt,这个列没有任何的意义,说的是进程的寻址空间,内核空间也有可能被映射到进程空间。这个参数无论多大,意义都不是很大。
top输出中的swap列(详见man手册,使用F选项选择和增加输出列),也是很不准确的,因为这个列是virt-res得出的结果,显然也是不准确的。
这个输出中相对还比较准确的就是cpu的使用,使用I选项可以选择占所有cpu的百分比,还是单个cpu的百分比。
另外输出中的头部还算是准确的。
统计信息区
前五行是系统整体的统计信息。

第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
当前时间、系统运行时间,格式为时:分、当前登录用户数
系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

(注意:下面的一些数值不是采用了上面的图中的数值)
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total
进程总数
1 running
正在运行的进程数(或者获得了cpu时间片,或者正在等待cpu时间片,总是有事做的进程)
28 sleeping
睡眠的进程数(无事可做的进程)
0 stopped
停止的进程数
0 zombie
僵尸进程数
Cpu(s): 0.3% us
用户空间占用CPU百分比(使用ps可以看见的进程)
1.0% sy
内核空间占用CPU百分比(使用ps看不见)
0.0% ni
用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id
空闲CPU百分比
0.0% wa
等待I/O的CPU百分比,这也算是idle等待,一个进程获取到cpu时间片,执行过程中需要io,于是进入等待,
如果这个时候,cpu无事可做,那么就进入wa的这个统计中,如果别的进程请求cpu,cpu会去忙别的进程,不进入
wa等待

标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P6 | 发表于 2010-11-4 19:23:46
注意:最好不要使用这个命令来看一些性能问题,不是很准确。
回复

使用道具

P4 | 发表于 2012-9-15 13:41:08
顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈