The Problem
I'm getting the following error in my Gateway log file.
<Thu May 23 08:15:48> INFO: Translator ConManager accept() failed. Details: 'checkListenPortActivity()'; ''; errno=24 (Too many open files)
Some Background
RHEL 7 embraced SystemD for spawning new services/daemons. Since RHEL 7's release, future point upgrades tightened up security measures. One such measure is the limit of how many files a daemon or service can open during the time SystemD control script owns the process, before handing it off to its own process user.
Although many clients use the recommended "gatewayctl" script, there may be some cases where our clients would prefer to leverage the SystemD control features. One use case would be so that the operator doesn't have to manually intervene once a system reboots. In order to facilitate this, you can let the OS handle spawning of your Gateways, or any other Geneos component for that matter, directly. You do this by creating a SystemD service file. How to create a service file, is beyond the scope of this Self-Help article. You may browse your favorite search engine on how to create a service or daemon in Linux.
Please keep in mind that the "Too many open files" error on your Gateway is not limited to SystemD. There are many other limits within Linux and you should consult with your RHEL SysAdmin to determine what other "ulimits" are in place. Browse for "ulimits" on a web search engine to find out more, since there are other scenarios, such as user, global and kernel ulimits that can be set in a system.
However, for the sake of this article, the following error can be rectified by adding "LimitNOFILE=<value>" and "LimitNPROC=<value>" to your Service Unit file.
The Solution:
Edit your /etc/systemd/system/<gateway start script> and add the following to your [Service] section:
LimitNOFILE=#####
LimitNPROC=#####
Where # is the recommended maximum number of open files and processes allowed/determined by your Systems Administrator.
Comments
0 comments
Please sign in to leave a comment.