book
Article ID: KB0086196
calendar_today
Updated On:
Description
Resolution:
Socket limit is based on the number of file descriptors available. This error indicates that your run out of file descriptor limit.
1. Check “ulimit –a” to see if the file descriptor limit is too low, if this is the case, increase the value.
2. Run kmtune to verify if maxfiles_lim and maxfile value is too low, if this is the case, increase the value.
3. Check how many clients are connecting to the rvd. And run “lsof –a –U –rvd.*” if they have a big difference, then your problem could be due to rvd was spawned by an application, and which application was open a lot of file descriptors. When an rvd is spawned by
an application, it inherits (but does not "know about" and, thus, cannot close) any sockets opened by the application.
In most cases, this problem can be avoided by having the application set the FD_CLOEXEC flag on sockets which are opened.
However, JAVA will not permit you to set the FD_CLOEXEC option on a socket. Since the application is written in JAVA, the only way to get around this problem is to start the rvd at boot time (or manually, before running the applications) with the -permanent flag so that the rvd will not disconnect there isn't an application connected to it.
The reason for doing this is to avoid having the application start an rvd and, thus, inheriting it's never closed sockets problem.
Issue/Introduction
Why do I have "RvError =67, RvErrorText =Socket limit reached" with rvd on HP-UX 11?