At continuous work in current of 5 months of a program complex of processing of payments of bank we have revealed a following problem: IDS 10.0 crashed at data exchange through KAIO. It is necessary to notice, that week the same crash has been revealed, but together with messages on loss of data at an exchange through KAIO in online.log (as well as in a today's case) in a system file of registration Linux (messages) have appeared records:
Mar 22 12:00:55 server kernel: open files rlimit 1024 reached for uid 1000 pid 2
UID 1000 Informix
I set parameters in a file/etc/security/limits.conf - soft nofile 2048 and hard nofile 4096. I have solved, that it can solve a problem, but it has appeared, that it not so. Today all has repeated, but already without records in /var/log/messages. Chunks are located on raw partition of a disk which in turn are on storehouse of data HP EVA5000. I hope for your help in the decision of a problem.
Hardware and software:
Linux SLES 9 SP3 x86_64
IBM Informix Dynamic Server Version 10.00.FC5
HP ProLiant DL580 G3
2x Intel Xeon /3.334GHz
36Gb Disk space - RAID1
50Gb HP EVA5000
Mesages in online.log:
08:39:46 Maximum server connections 43
08:44:50 Checkpoint Completed: duration was 3 seconds.
08:44:50 Checkpoint loguniq 29728, logpos 0x195f018, timestamp: 0xe4fdb06
In your log say "out of OS resources"... maybe this can help....
3. Kernel Asynchronous I/O (KAIO)
Asynchronous I/O is supported by the official Linux kernel since version
2.6.x. IBM Informix Dynamic Server supports Kernel Asynchronous I/O (KAIO)
on character devices (a.k.a. raw devices) and block devices. It is enabled
by default, and can be disabled by setting the environment variable
KAIOOFF=1 in the environment of the process that brings up the server.
When using KAIO, it is recommended to run poll threads on separate VPs by
specifying NET as VP class in the NETTYPE onconfig parameter, e.g.
NETTYPE ipcshm,...,...,NET or
On Linux, there is a system wide limit of the maximum number of parallel
KAIO requests. The file /proc/sys/fs/aio-max-nr is containing this value.
It can be increased by the Linux system administrator, e.g. by
# echo new_value > /proc/sys/fs/aio-max-nr
The current number of allocated requests of all OS processes is visible
By default, IBM Informix Dynamic server is allocating half of the maximum
number of requests, and assigns them equally to the number of configured
CPU VPs. The number of requests allocated per CPU VP can be controlled by
the environment variable KAIOON, by setting it to the required value before
bringing up the server. The minimum value for KAIOON is 100.
If Linux is about to run out of KAIO resources, e.g. when dynamically adding
many CPU VPs, warnings will be printed to the online.log file. In this case,
the Linux system administrator should add KAIO resources as described above