informix 11.5 出現out of KAIO resources造成資料庫宕

tonykorn97發表於2009-03-15

作業系統版本:
[root@tonykorn97 ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.2 (Tikanga)
Kernel r on an m

[root@tonykorn97 ~]# uname -a
Linux tonykorn97 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:15 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
[root@tonykorn97 ~]#

[@more@]


資料庫版本:
[informix@tonykorn97 ~]$ onstat -d
IBM Informix Dynamic Server Version 11.50.FC3 -- On-Line -- Up 00:06:38 -- 18724432 Kbytes

日誌資訊:
00:05:54 out of KAIO resources
00:05:54 Assert Failed: initializing KAIO failed
00:05:54 IBM Informix Dynamic Server Version 11.50.FC3
00:05:54 Who: Session(6537, , 3516, (nil))
Thread(7754, kaio, 0, 27)
File: kaioapi.c Line: 264
00:05:54 Results: io_queue_init(1638) failed returning -11, errno = 0
00:05:54 stack trace for pid 18573 written to /home/informix/tmp/af.2232e092
00:05:54 See Also: /home/informix/tmp/af.2232e092
00:05:54 Logical Log 4626 Complete, timestamp: 0x599d1cd1.
00:05:55 Logical Log 4627 Complete, timestamp: 0x59a4114a.
00:05:56 Logical Log 4628 Complete, timestamp: 0x59a47986.
00:06:01 initializing KAIO failed
00:06:01 io_queue_init(1638) failed returning -11, errno = 0
00:06:01 Assert Failed: kaiothread() ERROR
00:06:01 IBM Informix Dynamic Server Version 11.50.FC3
00:06:01 Who: Session(6537, , 3516, (nil))
Thread(7754, kaio, 0, 27)
File: kaio.c Line: 2232
00:06:01 stack trace for pid 18573 written to /home/informix/tmp/af.2232e092
00:06:02 See Also: /home/informix/tmp/af.2232e092
00:06:02 Logical Log 4629 Complete, timestamp: 0x59aa05b9.
00:06:03 Logical Log 4630 Complete, timestamp: 0x59b15a8c.
00:06:04 Logical Log 4631 Complete, timestamp: 0x59b85721.
00:06:04 Logical Log 4632 Complete, timestamp: 0x59b85766.
00:06:05 Logical Log 4633 Complete, timestamp: 0x59bf9c15.
00:06:05 kaio.c, line 2232, thread 7754, proc id 18573, kaiothread() ERROR.
00:06:06 Logical Log 4634 Complete, timestamp: 0x59c59b2e.
00:06:07 Fatal error in ADM VP at mt.c:13418
00:06:07 Unexpected virtual processor termination, pid = 18573, exit = 0x100

00:06:07 PANIC: Attempting to bring system down


原因是kaio設定的太小,先動態增加:
[root@tonykorn97 ~]# echo 131072 > /proc/sys/fs/aio-max-nr
[root@tonykorn97 ~]# cat /proc/sys/fs/aio-max-nr
131072
[root@tonykorn97 ~]# cat /proc/sys/fs/aio-nr
65459
[root@tonykorn97 ~]#

修改核心方式
調整核心引數
echo '
kernel.shmmni=4096
kernel.sem=5010 641280 5010 128
fs.aio-max-size = 131072
fs.aio-max-nr = 131072
fs.file-max=6491589
net.ipv4.ip_local_port_range=1024 65000' >> /etc/sysctl.conf

aio-max-nr 相關的引數是 fs.aio-max-nr


aio-max-size不同大小的效能影響
aio-max-size的大小基本可用從下規則來界定:dss因為進行大量的連續IO所以使用較大的值(1M甚至更大),如果是oltp則是進行大量的小型交易所以default的128K能夠提供良好的效能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-1018749/,如需轉載,請註明出處,否則將追究法律責任。

相關文章