Executing a large number of concurrent check-out processes involves the use of many file descriptors in the agent process. The user needs to set this value appropriately; otherwise, you will experience a “too many open files” error. For check-out transactions, the file descriptor consumption is a linear progression on the number of concurrent check-out operations.
In the agent process, it will require a minimum of seven file descriptors for STDIN, STDOUT, STDERR, Rtclient to RTserver socket, and agent listening port file descriptor. With each check-out to the remote agent operation, five additional file descriptors are opened:
The product agent is a multi-threaded program. When a user runs multiple concurrent check-outs, multiple threads are created and they access different files simultaneously. Depending on the number of CPUs available on the agent computer and number of concurrent operations as well as an appropriate file descriptor setting will be required.
On UNIX systems, the command 'ulimit -a' reports the current file size resource limitation for the processes started under your login shell. Some of these resource limits are user configurable and the values associated with them are known as the 'soft limits.' The administrator can set the corresponding 'hard limit' values for the resources at the system level.
On Solaris systems, 'ulimit -n', shows the maximum number of file descriptors available to your login shell. For example, a user can set the soft limit on the number of file descriptors by using the command:
ulimit -n 1024
If needed, the system administrator can raise or set the file descriptor limitation for the entire system by specifying the 'rlim_fd_max' (hard limit) and 'rlim_fd_cur' (soft limit) by adding them to the /etc/system file. For example in the following case, the hard limit for the number of file descriptors is being set to 8192 and the soft limit is set to 1024:
set rlim_fd_max=8192 set rlim_fd_cur=1024
In addition, system calls used by the product agent require open file descriptors. On Sun Solaris, the studio library limits open file descriptors to 256 per process for 32-bit applications. The agent process will retry a failed attempt to get an open file descriptor; otherwise, the “open too many files” error will return to the user. An example of such an error in the hco log file follows:
I00060040: New connection with Broker xyzxyz established. Attempting to log into remote agent... Agent login failed (error code = -24). <Too many files opened>
If a user encounters this file descriptor shortage error, the user needs to rerun the product operation.
Note: For more information about file size limitation, refer to the ulimit man page on UNIX platforms.
|
Copyright © 2013 CA.
All rights reserved.
|
|