Chapter 9.
Setting File Handles
The maximum number of file handles denotes the maximum number of open files on a Linux system.
Oracle recommends that the file handles for the entire system is set to at least 65536 for 9i R2 and
10g R1 and R2 for x86 and x86-64 platforms.
To determine the maximum number of file handles for the entire system, run:
cat /proc/sys/fs/file-max
To determine the current usage of file handles, run:
$ cat /proc/sys/fs/file-nr
1154
133
8192
The file-nr file displays three parameters:
• the total allocated file handles.
• the number of currently used file handles (with the 2.4 kernel); or the number of currently unused file
handles (with the 2.6 kernel).
• the maximum file handles that can be allocated (also found in /proc/sys/fs/file-max).
The kernel dynamically allocates file handles whenever a file handle is requested by an application
but the kernel does not free these file handles when they are released by the application. The kernel
recycles these file handles instead. This means that over time the total number of allocated file
handles will increase even though the number of currently used file handles may be low.
The maximum number of file handles can be changed in the proc file system without reboot:
# echo 65536 > /proc/sys/fs/file-max
Alternatively, you can use sysctl(8) to change it:
# sysctl -w fs.file-max=65536
To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This
file is used during the boot process.
echo "fs.file-max=65536" >> /etc/sysctl.conf
23