- UID
- 1029342
- 性别
- 男
|
环境产品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://space.itpub.net/20709695/viewspace-707983> |
|