Databases
cancel
Showing results for 
Search instead for 
Did you mean: 

WARNING:Oracle instance running on a system with low open file descriptor

shailender reddy_1
Occasional Contributor

WARNING:Oracle instance running on a system with low open file descriptor

Hi,

We have an Oracle database running on HPUX box, having the below warning in the alert.log file. Any help please?

WARNING:Oracle instance running on a system with low open file descriptor
limit. Tune your system to increase this limit to avoid
severe performance degradation

Kernel parameters for file related are as below:

maxfiles 2048 - 2048
maxfiles_lim 2048 Y 2048
7 REPLIES
A. Clay Stephenson
Acclaimed Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

It means exactly what it says. You need to increase the kernel tunables maxfiles and maxfiles_lim which control the per-process hard and soft (respectively) number of open
file descriptors. When a process approaches this limit, the only alternative (other than failing to open a file) is to close a file. This means than many open()'s and close()'s will be required. You can increase these values using SAM and build a new kernel. You should probably have a look at nfile which is the system-wide number of open files but 10 processes can have the same file open and that only counts as 1 file with respect to the nfile limit.
If it ain't broke, I can fix that.
TwoProc
Honored Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

Just for starters -

Increase these two variables by another 25%, and also review the "nfile" variable in the kernel. You'd review that with the "sam" tool, make your changes, let it rebuild the kernel, and then it will require a reboot to complete.
We are the people our parents warned us about --Jimmy Buffett
shailender reddy_1
Occasional Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

Thanks for your response. Is there a way of making a right estimate to these parameters? or just increase some percentage and check if it works?
A. Clay Stephenson
Acclaimed Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

You can use tools such as lsof and Glance to examine the number of files open by a process but because you have to ask, you probably aren't familiar with them. In your case, I would increase maxfiles_lim to 4096 and maxfiles to 3072 and you will probably be fine.
If it ain't broke, I can fix that.
Sanjay Kumar Suri
Honored Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

Problems occur when the value of kernel parameters are set too low for the number of files allowed to be simultaneously open in a process. Be certain that your kernel is configured so that you do not reach the limit for the number of open files for your process. Java opens many files in order to read in the classes required to run your application. A file descriptor is also used for each socket that is opened. Use HP OpenView GlancePlus to analyze the total number of files open when running your application.

nfiles: Maximum number of open files
This value is usually determined by the formula: ((NPROC*2)+1000)

NPROC is usually: ((MAXUSERS*5)+64)
For a MAXUSERS of 400, this works out to 5128. You can usually set it higher.

maxfiles: Soft file limit per process

For Oracle, you can estimate the required number of file descriptors (nofiles) with the following formula:
Total number of file descriptors required =
Parameter DB_FILES * 2 + Provision for controlfiles + provision for log files + Some buffer for other files (traces, etc)

maxfiles_lim: Hard file limit per process 2048 is the maximum value you can set through SAM for maxfiles and maxfiles_lim.

sks
A rigid mind is very sure, but often wrong. A flexible mind is generally unsure, but often right.
vnobien
Occasional Advisor

Re: WARNING:Oracle instance running on a system with low open file descriptor

* Warning on alert_log:
Oracle instance running on a system with low open file descriptor limit. Tune your system to increase this limit to avoid severe performance degradation.

Could you please help me to tune maxfiles parameter? increasing only this parameter or other parameters?
shailender reddy_1
Occasional Contributor

Re: WARNING:Oracle instance running on a system with low open file descriptor

Only those two kernel parameters are changed, fixed the issue. New values in my case look as follows:

maxfiles 3072 - 3072
maxfiles_lim 4096 Y 4096