Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Kamran Haq, on Informix 12.1 FC10 on RHEL 7 with DIRECT_IO, got 'requested KAIO events (1282) exceeds limit (645)' though aio-max-nr was 200000 and aio-nr nearly full. Marcus Haarmann suspected another process or instance and suggested export KAIOON. Benjamin Thompson said KAIOON is per CPU VP, so CPU VPs times KAIOON must stay below aio-max-nr, and 'onstat -g ath' shows kaio threads.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
KAMRAN HAQ — — source: IIUG Forums & Mailing Lists
We are running informix 12.1 FC10 on Linux Red Hat 7 64-bit
We enabled direct_io in informix configuration. But sometime instance restart
fils and complaints about running out of KAIO processes.
A message in online log is given below for reference:
"requested number of KAIO events (1282) exceeds limit (645). using 645."
We increased the aio-nr value to increase the processes [65K to 200K] but
still the current value of aio-nr is approcahing the set limit.
Here is the output:
[shell]$ cat /proc/sys/fs/aio-max-nr
200000
[shell]$ cat /proc/sys/fs/aio-nr
199355
informix is installed on xfs file-system. Dbspace chunks are on ext4. Below is
'ls -lh' output for root dbspace chunk:
-rw-rw---- 1 informix informix 3.2G Mar 2 02:40 /g2/ids_space//rootdbs
Can you guide how we can calculate a appropriate value of aio-nr
Note: I readon in anold article that direct-io in linux can be used only on
block devices, is it the reason for above issue?
regards,
Kamran
Hi,
it looks like another process already comsumes the mayority of your kaio
resources.
Do you have multiple instances running on this machine ?
You can limit the kaio resources for a single instance with an environment
variable (before starting the instance):
export KAIOON=100000
This allows you to control the consumption of kaio resources.
Marcus Haarmann
Von: "KAMRAN HAQ" <khaq@i2cinc.com>
An: "ids" <ids@iiug.org>
Gesendet: Freitag, 2. März 2018 12:16:24
Betreff: running out kaio [40773]
We are running informix 12.1 FC10 on Linux Red Hat 7 64-bit
We enabled direct_io in informix configuration. But sometime instance restart
fils and complaints about running out of KAIO processes.
A message in online log is given below for reference:
"requested number of KAIO events (1282) exceeds limit (645). using 645."
We increased the aio-nr value to increase the processes [65K to 200K] but
still the current value of aio-nr is approcahing the set limit.
Here is the output:
[shell]$ cat /proc/sys/fs/aio-max-nr
200000
[shell]$ cat /proc/sys/fs/aio-nr
199355
informix is installed on xfs file-system. Dbspace chunks are on ext4. Below is
'ls -lh' output for root dbspace chunk:
-rw-rw---- 1 informix informix 3.2G Mar 2 02:40 /g2/ids_space//rootdbs
Can you guide how we can calculate a appropriate value of aio-nr
Note: I readon in anold article that direct-io in linux can be used only on
block devices, is it the reason for above issue?
regards,
Kamran
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
↪ replying to Marcus Haarmann
KAMRAN HAQ — — source: IIUG Forums & Mailing Lists
What would be the impact on performance if we limit the KAIO to a smaller
number or vice versa. Is there any relation of KAIOON parameter with CPU
affinity or file-system type?
> What would be the impact on performance if we limit the KAIO to a
> smaller number or vice versa. Is there any relation of KAIOON
> parameter with CPU affinity or file-system type?
KAIO and the KAIOON environment variable are fairly well documented in the
manual:
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.admin.doc/i
ds_admin_0301.htm
The KAIOON parameter is per CPU VP so (num. CPU VPs * KAIOON) must be less
than aio-max-nr. It makes no difference if affinity is in use or not. Your
value of aio-max-nr (200000) is not especially high but then again I don't
know what hardware you have. Ultimately having a low value restricts the
number of concurrent I/O requests that can be passed to the Linux kernel.
If you are using either raw devices or cooked devices with DIRECT_IO you
should be able to take advantage of KAIO. If 'onstat -g ath' shows kaio
threads it is working.
Be aware that if you have a multi-instance machine you should definitely set
KAIOON for both or whichever instance starts first will get the lion's share
of resources.
Ben.
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.