如何调整pbuf |
| |
|
|
|
|
环境:(产品AIX V5.3及以上版本,平台pSeries)
问题描述: 本文介绍了如何调整pbuf.
解答:
1. pbuf简介: AIX V5.3版本开始, 系统为每一个卷组分配一个pbuf的资源池, 使用命令lvmo管理pbuf池,简单介绍几个参数:
pv_buf_count:每增加一个PV,所增加的pbufs数量, 在32位内核下缺省值为256,64位内核下为512 total_vg_pbufs:当前卷组可用的pbufs数量 max_vg_pbuf_count:卷组所能申请到的最大pbuf数量 pervg_blocked_io_count:因缺少pbuf而阻塞的I/O数,varyonvg时其值清零.
简单解释它们之间的关系: (1) 当vg上没有IO时,total_vg_pbufs = pv_pbuf_count * pv数量. (2) 当vg上有IO时,total_vg_pbufs数目会随之减少.当total_vg_pbufs耗尽, 即pbuf用完,这时提交的IO请求需等待,直到有可用的pbuf. 此时,"pervg_blocked_io_count"也会相应增加.
2. 如何诊断和改善pbuf瓶颈问题: (1) 首先查看"vmstat -v", 例如: 4668058 pending disk I/Os blocked with no pbuf vmstat命令显示的是全系统的一个累积值,当系统重启时,该值清零.
(2) 然后通过lvmo命令检查每一个vg的pbuf情况: 例如此系统中,pbuf缺乏都来自于datavg,即"pervg_blocked_io_count": # lvmo -v datavg -a vgname = ocrvg12 pv_pbuf_count = 512 total_vg_pbufs = 8192 max_vg_pbuf_count = 16384 pervg_blocked_io_count = 4668058 <<< global_pbuf_count = 512 global_blocked_io_count = 4668058 <<<
(3) 当vg上的"pervg_blocked_io_count"过高,建议提高该vg的"pv_pbuf_count" 增加该vg的pbuf数目,改善性能. 例如: # lvmo -v datavg -o pv_pbuf_count=1024 # varyoffvg datavg # varyonvg datavg
| |
摘自
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1811088I26001
添加新评论0 条评论