linux系统性能监控与优化(3)–memory

虚拟内存以页的方式管理,一般为4K,如果配置了大页,则为2M The Page Frame Reclaim Algorithm.(PFRA) PFRA根据页的类型来释放内存。

1.页类型: 1)不能释放的页:加锁的页,内核页,保留的页 2)可交换的页:匿名内存页 3)同步的页:有对应磁盘文件的页 4)可废弃的页:static pages discarded pages 除了第一种页不能回收,其它都可以被PFRA回收。

2.PFRA主要由两种机制: 1)kswaped内核线程 2)pdflush内核线程

3.kswapd kswapd守护线程的功能是保证有足够多的空闲内存可用。当当前系统的可用内存低于pages_low时,kswapd进程将一次释放32个页,直到空闲内存到达pages_high 相应的机制是通过一个双LRU链表来实现的。 如是这个页没有改动,则将这个内存页放到free list。如果这个页改动了,并且有对应的文件系统,将把这个页刷到磁盘。如果这个页改动了,但是匿名页,则将这个页写的swap区 4.pdflush pdflush将对应文件系统脏页,刷到磁盘。 当内存中10%的页是脏页的话,pdflush将开始将脏页同步到文件系统,可以调整这个参数的值:vm.dirty_background_ratio

5.vmstat与内存相关的参数

6.实例: 通过下面的分析可以得出结论:io应用突然上涨,大量使用虚拟内存 1)大量的磁盘块映射到page(bi) 2)空闲内存(free)维持在17M 3)为了保持free list,kswapd从buffer获取内存,加到free list。 4)kswapd进程将dirty pages写到swap。(swpd) 7.总结: 1)缺页错误。 2)大量使用swap设备,则系统内存短缺

linux系统性能监控与优化(3)–memory

相关文章:

你感兴趣的文章:

标签云: