龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

Linux 性能监控分析(6)

时间:2014-06-22 03:05来源:网络整理 作者:网络 点击:
分享到:
(1)kswapd daemon用来检查pages_high和pages_low,如果可用内存少于pages_low,kswapd就开始扫描并试图释放32个页面,并且重复扫描释放的过程直到可用内存大于

       (1)kswapd daemon 用来检查 pages_high 和 pages_low,如果可用内存少于 pages_low,kswapd 就开始扫描并试图释放 32个页面,并且重复扫描释放的过程直到可用内存大于 pages_high 为止。

       扫描的时候检查3件事:

       1)如果页面没有修改,把页放到可用内存列表里;

       2)如果页面被文件系统修改,把页面内容写到磁盘上;

       3)如果页面被修改了,但不是被文件系统修改的,把页面写到交换空间。

       (2)pdflush daemon 用来同步文件相关的内存页面,把内存页面及时同步到硬盘上。比如打开一个文件,文件被导入到内存里,对文件做了修改后并保存后,内核并不马上保存文件到硬盘,由 pdflush 决定什么时候把相应页面写入硬盘,这由一个内核参数 vm.dirty_background_ratio 来控制,比如下面的参数显示脏页面(dirty pages)达到所有内存页面10%的时候开始写入硬盘。

# /sbin/sysctl -n vm.dirty_background_ratio

10

3.1  vmstat

# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  3 252696   2432    268   7148 3604 2368  3608  2372  288  288  0  0 21 78  1
 0  2 253484   2216    228   7104 5368 2976  5372  3036  930  519  0  0  0 100  0
 0  1 259252   2616    128   6148 19784 18712 19784 18712 3821 1853  0  1  3 95  1
 1  2 260008   2188    144   6824 11824 2584 12664  2584 1347 1174 14  0  0 86  0
 2  1 262140   2964    128   5852 24912 17304 24952 17304 4737 2341 86 10  0  0  4
 
部分参数说明:

(1).      swpd,已使用的 SWAP 空间大小,KB 为单位;

(2).      free,可用的物理内存大小,KB 为单位;

(3).      buff,物理内存用来缓存读写操作的 buffer 大小,KB 为单位;

(4).      cache,物理内存用来缓存进程地址空间的 cache 大小,KB 为单位;

(5).      si,数据从 SWAP 读取到 RAM(swap in)的大小,KB 为单位;

(6).      so,数据从 RAM 写到 SWAP(swap out)的大小,KB 为单位;

(7).      bi,磁盘块从文件系统或 SWAP 读取到 RAM(blocks in)的大小,block 为单位;

(8).      bo,磁盘块从 RAM 写到文件系统或 SWAP(blocks out)的大小,block 为单位;

上面是一个频繁读写交换区的例子,可以观察到以下几点:

(1).      物理可用内存 free 基本没什么显著变化,swapd 逐步增加,说明最小可用的内存始终保持在 256MB(物理内存大小) * 10% = 2.56MB 左右,当脏页达到10%的时候(vm.dirty_background_ratio = 10)就开始大量使用 swap;

(2).      buff 稳步减少说明系统知道内存不够了,kwapd 正在从 buff 那里借用部分内存;

(3).      kswapd 持续把脏页面写到 swap 交换区(so),并且从 swapd 逐渐增加看出确实如此。根据上面讲的 kswapd 扫描时检查的三件事,如果页面被修改了,但不是被文件系统修改的,把页面写到 swap,所以这里 swapd 持续增加。

四. IO

精彩图集

赞助商链接