ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AIX调优之IO篇-pbuf

AIX调优之IO篇-pbuf

原创 Linux操作系统 作者:jcq0 时间:2012-02-20 22:39:31 0 删除 编辑

环境:(产品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>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14130873/viewspace-716830/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-25

  • 博文量
    93
  • 访问量
    342484