Skip to content

solaris resource control max file descriptor exceeded error





on solaris sometimes you can get the max file descriptor exceeded error. Below is an article that explains on how to fix it. if you are a new oracle dba and want to get a view of things happenning on the unix side this article helps you.

Basic rctl process.max-file-descriptor (value 256) exceeded by process XXX [ID 1019119.1]  

 
  Modified 09-MAR-2009     Type PROBLEM     Migrated ID 235202     Status PUBLISHED  
       

Symptoms
Problem with rctl on "early started daemons"
The user sets  "rctladm -e syslog process.max-file-descriptor" to record all process (applications) exceeding "process.max-file-descriptor"

Now, they are getting many annoying and misleading messages in /var/adm/messages from daemons like inetd and other "early started processes" instead of seeing only their applications, as expected.
—————————————————————————————
Nov 28 12:51:44 lab233 genunix: basic rctl process.max-file-descriptor (value 256) exceeded by process 583
Nov 28 12:51:47 lab233 genunix: basic rctl process.max-file-descriptor (value 256) exceeded by process 589
Nov 28 12:51:51 lab233 last message repeated 6 times
—————————————————————————————
# ptree 583
207   /usr/lib/inet/inetd start
  583   /usr/sbin/in.telnetd
    589   -sh
      597   bash

—————————————————————————————
Messages are generated from i.e. /usr/sbin/in.telnetd (forked by inetd) by open/read/close of filedescriptor 256

Resolution
The solution to this problem would be to set the hard, and soft, file descriptor limits in /etc/system,

e.g.
set rlim_fd_max=8192
set rlim_fd_cur=1024

The valid workaround consist of setting the resource control for the system project via the /etc/system 
file, as shown in the following table:

+-----------------------------+----------------------------------------+
| Resource Control            | /etc/system entry                      |
+=============================+========================================+
| process.max-file-descriptor | set rlim_fd_cur =  <value>             |
|                             | set rlim_fd_max =  <value>             |
+-----------------------------+----------------------------------------|
| project.max-shm-memory      | set shmsys:shminfo_shmmni = <value>    |
|                             | set shmsys:shminfo_shmmax = <vaule>    |
+-----------------------------+----------------------------------------|
| project.max-shm-ids         | set shmsys:shminfo_shmmni = <value>    |
+-----------------------------+----------------------------------------|
| project.max-msg-ids         | set msgsys:msginfo_msgmni = <value>    |
+-----------------------------+----------------------------------------|
| project.max-sem-ids         | set semsys:seminfo_semmni = <value>    |
+-----------------------------+----------------------------------------+

All the above are documented in the "Solaris Tunable Parameters Reference Manual",   
available at http://docs.sun.com/app/docs/doc/817-0404. These parameters are listed   
as being obsolete, however they do still work, and do offer an acceptable zero risk   
solution to this particular issue.

Additional Information
This is a supplement document for the following bug:

 CR 6497974

Product
Solaris 10 Operating System
Solaris 9 Operating System

Related


Products


  • Sun Software > Operating Systems > Solaris Operating System > Solaris Operating System

 

Back to top

Rate this document 

Article Rating

Rate this document
Excellent
Good
Poor
 
Did this document help you?
Yes
No
Just browsing
 
How easy was it to find this document?
Very easy
Somewhat easy
Not easy

 

  Comments

 
Cancel    

 

VN:F [1.9.22_1171]
Rating: 6.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)
solaris resource control max file descriptor exceeded error, 6.0 out of 10 based on 2 ratings

Post a Comment

You must be logged in to post a comment.