3. The AccuRev Server : Open Filehandle Limits and the AccuRev Server

Open Filehandle Limits and the AccuRev Server
The AccuRev Server is designed to handle multiple client commands concurrently: any number of requests that “read” data, along with one command that “writes” data. Accomplishing such concurrency typically requires that the AccuRev Server have many files open at the same time. Each operating system imposes limits on how many files can be open simultaneously. There may be an “open file descriptor” limit for each user process, or an overall limit for all user processes, or both. If the AccuRev Server hits the open file descriptor limit, additional client requests will be queued until file descriptors become available. (No client command is cancelled, and no data is lost. Hitting the open file descriptor limit just slows AccuRev Server performance.)
Checking the Number of File Descriptors
To check the number of file descriptors in use at any given time by the AccuRev Server:
(UNIX/Linux) Create a file (anyname.xml) containing the following line:
<serverInfo/>
Then run this AccuRev command:
accurev xml -l anyname.xml
(Windows) Use Microsoft’s Handle utility on the AccuRev Server machine to monitor the open file handles:
handle.exe -p accurev_server
(See the “Process Utilities” link at http://www.sysinternals.com.)
Changing the Per-Process Open File Descriptor Limit
Note: if you are performing a pre-purchase evaluation of AccuRev in an environment with a limited number of users and a limited amount of data, there is no need to make any changes. The default limits will be more than adequate.
The procedure for increasing a process’s maximum number of open files varies from operating system to operating system.
Regardless of operating system, be sure to remove file acserver.handle.limit, located in the AccuRev site_slice directory, before restarting the AccuRev Server or rebooting the operating system. This file caches the current value of the open-files limit.
Windows
The default limit is 2048 file descriptors and cannot be changed.
Linux
You can review and modify file descriptor limits at both the system and process level as described in the following procedures.
System-wide Limits
 
1.
% cat /proc/sys/fs/file-max
2.
# /sbin/sysctl -w fs.file-max=100000
Per-Process Limits
 
1.
% ulimit -n
2.
% ulimit -n 4096
3.
session required pam_limits.so
Add the following lines to /etc/security/limits.conf:
acserver soft nofile 4096
4.
% ulimit -n
% acserverctl stop
% rm acserver.handle.limit
% acserverctl start

Borland