Max Open File Limit


 
Thread Tools Search this Thread
Operating Systems Linux Ubuntu Max Open File Limit
# 1  
Old 03-14-2016
Max Open File Limit

Ubuntu users,

I am configuring an Ubuntu 14.04 server as a load injector.

I have appended the hard and soft limits to /etc/security/limits.conf for any user (apart from root):

* hard nofile 65536
* soft nofile 65536

I am seeing the figure 65536 in numerous resources, but I am not sure why?

I am guessing that the system wide-limit should be larger than the user limit, so I have set this to ‘fs.file-max = 75000' in /etc/sysctl.conf. Is this correct?

Do I also need to set pam_limits on Debian based distros and where does this fit in?

And what limits does ‘ulimit -n' actually retrieve?

Many Thanks

Aidy
# 2  
Old 03-14-2016
The only rule is: soft limit cannot be higher than hard limit
ulimit -n == ulimit -Sn == soft limit
ulimit -Hn == hard limit
ulimit -Ha == all hard limits
These are per-process limits.
I would leave fs.file-max to the default. It is usually much higher than the per-process limits. (The actual number is calculated by the available RAM.)
# 3  
Old 03-14-2016
Hi MadeInGermany,

Thanks for your reply.

The kernel seems to set the soft and hard limits at 1024 and 4096 respectively.
$ ulimit -Sn
1024
$ ulimit -Hn
4096

But with a machine of 15GB RAM the system wide max limit is:
$ cat /proc/sys/fs/file-max
1529806

With this figure what would you suggest could be a sensible upper hard limit for a process?

Many Thanks

Aidy
# 4  
Old 03-14-2016
The 4096 (default) makes sense in most cases.
A few server applications need more. But a few other applications crash or misbehave if they see very high limits.
Say Oracle would need 32768; then I would set it only for the particular functional user.
Code:
* hard nofile 4096
* soft nofile 1024
oracle hard nofile 32768
oracle soft nofile 32768

# 5  
Old 03-14-2016
No need to change system wide, only per user.
Since, of course, you are not running your applications as root are you ?

As for the value required, this is application dependent.
What does that 'load injector' do?
What does the programmer/vendor of that load injector say about kernel parameters required for his software ?

Remember,max open files doesn't apply only to files but rather to file descriptors.
This covers a lot of possible functionality one application can do (sockets, pipes, files).

MadeInGermany - can you tell me where have you noticed failures with large values, if you can share, of course.
# 6  
Old 03-14-2016
I have seen some java/eclipse programs wildly spawning new threads, until they reached the nofile limit or the nproc limit (if set). With the default nofile limits 1024/4096 the programs were running okay with about 300 threads.
Being an administrator I do not bother about what the eclipse programs are for.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Open File Descriptors Current vs. Max

Hello all, I have been tasked with finding the current open file descriptors versus the limit set. In Linux, this can be done like so: cat /proc/sys/fs/file-nr 3391 969 52427 | | | | | | | | maximum open file descriptors | total free allocated... (2 Replies)
Discussion started by: LinuxRacr
2 Replies

2. UNIX for Dummies Questions & Answers

Fork resource unavailable error, max # filehandles open?

I wrote a perl program that simultaneously reads in data from 691 tar.gz files using zcat. I can run one instance of the program without any issues and the memory and swap sizes are negligible. However, when I attempt to run more than 1 I start to get fork: resource unavailable messages. Are... (6 Replies)
Discussion started by: aquinom85
6 Replies

3. SCO

sco unix backward compatibility on "max open file per process"

Hi How to increase maximum number of open file in "sco xenix binary" running in "sco unix openserver 5.0.7" ? I have changed "NOFILES" kernel parameter to 512, but xenix binray can't open more than 60. tnx (4 Replies)
Discussion started by: javad1_maroofi
4 Replies

4. HP-UX

max limit in in setting array

hi, iam getting error when i assign a variable to an array of more that 315 character in length set -A array <variable> <variable> value is 000001 000002 and up to 000045 it is giving error as "The specified subscript cannot be greater than 1024." can any one help me to solve this (2 Replies)
Discussion started by: gomathi
2 Replies

5. Linux

file-max limit

Oct 31 00:00:02 FIREWALL003 syslogd 1.4.1: restart. Oct 31 00:00:02 FIREWALL003 syslogd 1.4.1: restart. Oct 31 00:00:02 FIREWALL003 syslogd 1.4.1: restart. Oct 31 02:37:09 FIREWALL003 kernel: srmLINUX: segfault at 00000000303a3031 rip 000000000026fe54 rsp 00000000ffbd05b8 error 4 Oct 31... (5 Replies)
Discussion started by: itik
5 Replies

6. Shell Programming and Scripting

Creation of directoryname with Max limit

Hi, Please provide your inputs.. # define PATH_MAX 1023 /* max number of characters in a pathname (not including terminating null) */ Could you please let me know how to create directory name(or pathname) with above PATH_MAX length in korn shell scripting.. ... (9 Replies)
Discussion started by: mansa
9 Replies

7. Programming

How to limit max no of message in a posix message queue

Hii can anyone pls tell how to limit the max no of message in a posix message queue. I have made changes in proc/sys/fs/mqueue/msg_max But still whenever i try to read the value of max. message in the queue using attr.mq_curmsgs (where struct mq_attr attr) its giving the default value as 10.... (0 Replies)
Discussion started by: mohit3884
0 Replies

8. SuSE

Setting the max open files value

I'm trying to set the open files value to 4000 on a SLES 9 system. Current values:ulimit -n 1024 I can set it using this:ulimit -n 4000 ulimit -n 4000 But this obviously sets it only for the shell session where I run the command to set it. I want to set this to 4000 for all time. ... (3 Replies)
Discussion started by: blowtorch
3 Replies

9. Shell Programming and Scripting

TCL Socket max Limit settting

How to set the max limit for socket opening TCL Thanks, Ajay (1 Reply)
Discussion started by: aju_kup
1 Replies

10. UNIX for Advanced & Expert Users

Max No of Open File Descriptors in a process

I have set the maximum no of file descriptors open in a process to the value 8192 using the following lines set rlim_fd_max=8192 set rlim_fd_cur=8192 in the /etc/system file. I rebooted the machine and the command ulimit -n / -Hn both display the limits as 8192. However when I run my... (2 Replies)
Discussion started by: lakshmankumar12
2 Replies
Login or Register to Ask a Question