aix一直磁盘100%繁忙?

AIX磁盘一直100%
disk100.png

disk100.png

目录情况
$ lspv
hdisk0 00cb36a169514959 rootvg active
hdisk1 00cb36a11a470b12 rootvg active
hdisk2 none None

hdisk3 none None

hdisk4 00cb36b14a6226e3 db2vg

hdisk5 00cb36b14a6f4558 appfilevg active
hdisk6 00cb36a105af9ed3 appfilevg active
hdisk7 00cb36a157e9b7ea None

hdisk8 00cb3651fe38d85f None

hdisk10 00cb36a109c23641 db2vgtmp active
$ lsvg -l db2vgtmp
db2vgtmp:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
db2lvtmp jfs2 598 598 1 open/syncd /db2data
db2lvtmp_log jfs2log 1 1 1 open/syncd N/A
$ lslv db2lvtmp
LOGICAL VOLUME: db2lvtmp VOLUME GROUP: db2vgtmp
LV IDENTIFIER: 00cb36a100004c000000015d09c416e6.1 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 2048 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 598 PPs: 598
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /db2data LABEL: /db2data
MIRROR WRITE CONSISTENCY: on/ACTIVE

EACH LP COPY ON A SEPARATE PV ?: yes

Serialize IO ?: NO

$

通过fuser看到
$
$ fuser -c /db2data
/db2data: 303712
$ ps -ef|grep 303712
root 327692 303712 0 Sep 22 - 42:06 db2ckpwd 0
root 373130 303712 0 Sep 22 - 42:05 db2ckpwd 0
db2inst1 397716 291556 0 15:46:59 pts/3 0:00 grep 303712
db2inst1 303712 148228 107 Sep 22 - 11901:37 db2sysc 0
root 74686 303712 0 Sep 22 - 42:25 db2ckpwd 0
$

是因为 db2sysc进程导致的,
该怎么往下查呢?

6回答

周光明周光明  软件架构设计师 , People's Bank of China
zihan524524Jayden_Lu冯岩等赞同了此回答
以上信息表明进程ID=303712对逻辑卷db2vgtmp产生了大量读操作。建议如下操作:1)topas看看PgspIn、PgspOut等是否持续高?2)topas看看CPU Wait%等是否持续高?3)db2top -d xxx看看哪些表在进行大量read/write?根据以上操作来判断是否内存资源小导致频繁磁盘交换,还是每个SQL的...显示全部

以上信息表明进程ID=303712对逻辑卷db2vgtmp产生了大量读操作。
建议如下操作:
1)topas看看PgspIn、PgspOut等是否持续高?
2)topas看看CPU Wait%等是否持续高?
3)db2top -d xxx看看哪些表在进行大量read/write?
根据以上操作来判断是否内存资源小导致频繁磁盘交换,还是每个SQL的access plan存在问题导致持续的read/write IO。

根据问题反馈,基本可以判断为“某个或者某些SQL慢”导致繁忙的I/O从而CPU Wait较大。进一步处理方法建议为:
1)使用db2top或者db2 snapshot找到问题SQL。
2)使用db2expln或者db2exfmt对定位的问题SQL进行抽取access plan。
3)分析其access plan,看看是否存在table scan还是nested loop join。
4)最后优化问题SQL。

收起
 2017-11-15
浏览1472
王磊磊 邀答
  • 303712,就是db2sysc进程,应该是数据库在做大量的读取;PgspIn、PgspOut有数值,但是不太大;CPU Wait%一直在70%左右;db2top 不能执行;内存换页空间使用了20%,我猜可能是某些sql效率慢导致的恶性循环,不知道该怎么下手了
    2017-11-15
  • 重启
    2017-11-17
  • 周光明  周光明 回复 wade666
    基本可以判断为“某个或者某些SQL慢”导致繁忙的I/O从而CPU Wait较大。进一步处理方法建议为: 1)使用db2top或者db2 snapshot找到问题SQL。 2)使用db2expln或者db2exfmt对定位的问题SQL进行抽取access plan。 3)分析其access plan,看看是否存在table scan还是nested loop join。 4)最后优化问题SQL。
    2017-11-17
匿名用户匿名用户
冯岩王磊磊赞同了此回答
1、hdisk10的Kbps数值为(368.8k),TPS数值为:7.8k,基本判断你的存储问题的不大2、你的IO请求7.8k(7.81000),读写字节数368.8k(368.81000)3、如果你的业务量很小,你需要判断你们的数据库目前是不在查询报表之类的,然后找查询报表比较大的SQL优化。【从你发的信息看,你们的业务应该不是很...显示全部

1、hdisk10的Kbps数值为(368.8k),TPS数值为:7.8k,基本判断你的存储问题的不大
2、你的IO请求7.8k(7.81000),读写字节数368.8k(368.81000)
3、如果你的业务量很小,你需要判断你们的数据库目前是不在查询报表之类的,然后找查询报表比较大的SQL优化。【从你发的信息看,你们的业务应该不是很大,只是猜测】
4、如果你的业务量大,你需要判断看一下你们的业务执行的SQL是否有异常

收起
 2017-11-17
浏览1181
mxinmxin  系统架构师 , AiX专家俱乐部
冯岩王磊磊赞同了此回答
个人以为问题可能出现在2个方面,存储或DB,建议分2个方向逐一排查:存储:对disk10上的目录进行 cp读写大文件,看看读写流量能否上到100MB/s以上?如果是,则排查DB;如果读写远远不到正常范围,则排查多路径软件、HBA卡,光纤交换机,存储的负荷及报错。DB:db2top看看SQL是否写得有问题。...显示全部

个人以为问题可能出现在2个方面,存储或DB,建议分2个方向逐一排查:
存储:
对disk10上的目录进行 cp读写大文件,看看读写流量能否上到100MB/s以上?如果是,则排查DB;如果读写远远不到正常范围,则排查多路径软件、HBA卡,光纤交换机,存储的负荷及报错。
DB:
db2top看看SQL是否写得有问题。

收起
 2017-11-16
浏览1175
王磊磊 邀答
crystalwmagiccrystalwmagic  系统工程师 , 浙商银行
王磊磊赞同了此回答
1、检查主机硬件和存储是否有告警2、IO Wait是否较高3、DB2 缓存池命中率,SQL语句执行情况,耗时较大的是否需要建索引4、Pagespace 20% 内存有可能不足了5、iostat看下hdisk10是否队列深度较高,响应时间较大6、通常来说不建议把数据和日志全放在一块盘上,虽然现在系统不做条...显示全部

1、检查主机硬件和存储是否有告警
2、IO Wait是否较高
3、DB2 缓存池命中率,SQL语句执行情况,耗时较大的是否需要建索引
4、Pagespace 20% 内存有可能不足了
5、iostat看下hdisk10是否队列深度较高,响应时间较大
6、通常来说不建议把数据和日志全放在一块盘上,虽然现在系统不做条带化了,但最好也将pp均分在多个磁盘上,不管底层是做的raid5,6还是pool池

收起
 2017-11-17
浏览1179
王磊磊 邀答
冯万里冯万里  数据库架构师 , Huawei
冯岩赞同了此回答
建议从两个方面排查:1 重点从数据库层面抓取IO消耗量大/执行时间/频率等指标排名靠前的SQL;2 检查AIX和存储层面有无磁盘报错,排除硬件故障;显示全部

建议从两个方面排查:
1 重点从数据库层面抓取IO消耗量大/执行时间/频率等指标排名靠前的SQL;
2 检查AIX和存储层面有无磁盘报错,排除硬件故障;

收起
 2017-11-16
浏览1207
王磊磊 邀答
peterzhupeterzhu  系统工程师 , Nanjing Digital China Limited
1,正常会在数据库层面先看看,看看有无调优空间。2,hdisk10 应该是存储映射过来的盘吧,看看存储层面有无异常,以前遇到过raid组里有盘临界坏点,hdisk磁盘利用率也是100%,供你参考下。显示全部

1,正常会在数据库层面先看看,看看有无调优空间。
2,hdisk10 应该是存储映射过来的盘吧,看看存储层面有无异常,以前遇到过raid组里有盘临界坏点,hdisk磁盘利用率也是100%,供你参考下。

收起
 2017-11-15
浏览1220

提问者

wade666数据库管理员, Cloud

问题状态

  • 发布时间:2017-11-15
  • 关注会员:8 人
  • 问题浏览:2283
  • 最近回答:2017-11-17
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2020  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30