File Descriptors for Connection Manager.
Posted in 2020
Neville Monteiro asked if the Connection Manager log message that setting 32767 file descriptors failed (limit 1024) matters. SangGyu Jeong said it can be ignored but suggested raising limits in /etc/security/limits.conf; Art Kagel advised at least 32767. Vicente Salvador Cubedo gave systemd LimitNOFILE. Doug Lawry fixed error -25573 with tcp_max_syn_backlog and somaxconn in sysctl.conf.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Clustering, Grid & MACH11
Dear All, On starting Informix Connection Managers, the following is written to the log file of Connection Managers :- 16:51:52 set the maximum number of file descriptors 32767 failed 16:51:52 the current maximum number of file descriptors is 1024 Even though the above message is written to its log file, the Connection Managers are still working fine. Now, is the above message something to be worried about or can it be ignored ? Thanks & Regards, Neville Monteiro. Sent with ProtonMail Secure Email. #Informix
Hi Neville, This message is displayed if the value of open files is small in the ulimit -a command output. On Linux, you can increase the open files value by modifying the /etc/security/limits.conf file. You can safely ignore the message because there is no problem with the connection manager. However, if there are many connections, it may be better to increase the value. ------------------------------ SangGyu Jeong Software Engineer Infrasoft Seoul Korea, Republic of ------------------------------
We will monitor the log file of both the connection managers for a few days and then decide if the values in the /etc/security/limits.conf file will have to be increased or not. Thanks a lot SangGyu Jeong. ------------------------------ Neville Monteiro ------------------------------
And if you start your connection manager using systemd services you need to configure maximum open files using systemd service parameters: LimitNOFILE=500000 LimitNPROC=500000 This can be set in the block [Service] of you service systemd file Vicente Salvador ------------------------------ Vicente Salvador Cubedo ------------------------------
Neville: Yes, it could cause you problems down the road. You should increase the number of file descriptors total and per process in the OS to at least 32767, although in a production environment you may want to make that even higher, perhaps 65535 or more. Art Art S. Kagel, President and Principal Consultant ASK Database Management www.askdbmgt.com Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.
This message of file descriptors is only written in the log file of both connection managers when they are started. After that, there is no mention of file descriptors when the connection managers are running. We are monitoring the log files of both the connection managers. If we come across the file descriptors message in the log file in its normal running, we will increase the value of the file descriptors. Thanks a lot, Sir. Thanks & Regards, Neville Monteiro. Sent with ProtonMail Secure Email.
Hello Sir, We will have to increase the "total number of file descriptors" and "total number of file descriptors per process" to 32767. Is there any way wherein we can get the values for these 2 parameters into effect right-a-away without a system restart ? ------------------------------ Neville Monteiro ------------------------------
Neville:
Modify the following file with the root account.
AIX : /etc/secuirty/limits
Linux : /etc/security/limit.conf
After editing the file, log in to that account and it will take effect.
Of course, if you see that the value has changed, you need to restart the program.
$ tail -20 /etc/security/limits
rss = -1
fsize = -1
db2i81:
core = -1data = 491519
stack = 32767
rss = -1
fsize = -1
informix:
fsize = -1
core = -1
cpu = -1
data = -1
rss = -1
stack = -1
threads = 32767
nofiles = 32767
$ su - informix
/home/informix]ulimit -atime(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) 32767
threads(per process) 32767
processes(per user) unlimited
------------------------------
SangGyu Jeong
Software Engineer
Infrasoft
Seoul Korea, Republic of
------------------------------
Thanks SangGyu Jeong ------------------------------ Neville Monteiro ------------------------------
. ------------------------------ Neville Monteiro ------------------------------
Also, with Connection Manager from CSDK 3.70 or 4.10 on CentOS 7.5 in VMware, we would get this continuously in the CM log after a network break when clients
all
tried to reconnect simultaneously:
listener accept new fd failed:network error = -25573
Details of that error number are:
$ finderr -25573-25573 Network driver cannot accept a connection on the port.
A system call has failed. See the system administrator for assistance.
The fix with help from IBM Support was as follows.
Append these lines to /etc/sysctl.conf:
net.ipv4.tcp_max_syn_backlog = 4096
net.core.somaxconn = 4096
Run this command to load changes:
sysctl -p
------------------------------
Doug Lawry
------------------------------