• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4118
  • Last Modified:

Linux-ulimit

I have tried editing the limits.conf file  to change the ulimit value for the linux box. Since i got the warning in logs "INFO | jvm 1 | 2008/10/02 19:58:49 | java.io.IOException: Too many open files"

vi /etc/security/limits.conf

# End of file
*   soft    nofile  1024
*   hard    nofile  4096

and rebooted the system.But after the reboot also the ulimit value didnt changed and its still 1024

[root@sys1 ~]# ulimit -n
1024

[root@sys1 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 36864
virtual memory          (kbytes, -v) unlimited


[root@sys1 ~]# uname -a
Linux sys1.domain.com 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005 x86_64 x86_64 x86_64 GNU/Linux

[root@sys1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant)

I have to increase the ulimit value.The question is why the ulimit value did not updated after the reboot?



0
linuxraja
Asked:
linuxraja
1 Solution
 
woolmilkporcCommented:
Hi,
for a change to take effect immediately after logon (or reboot), you must change the soft limit in limits.conf!
The hard limit is the value up to which a user may increase the limit by using the 'ulimit' command.

wmp
0
 
linuxrajaAuthor Commented:

Ok. Now how the ulimit to the user and ulimit to the operating system are related. Actually I want to increase the ulimit value for one particular application which is running under the user name user1. As i told before currently it is

vi /etc/security/limits.conf

# End of file
*   soft    nofile  1024
*   hard    nofile  4096

[root@sys1 ~]# ulimit -n
1024

1. How to find the current opened files by the operating system and current opened files by the user?
2. Is there any limitations like user ulimit should be less than the operating system ulimit?

0
 
Deepak KosarajuSr. Monitoring Architect - Nagios/Op5 SME - ConsultantCommented:
lsof -u
multiple username can be given separated by comma(no space between each user)
0
 
woolmilkporcCommented:
Hi,
to have the limit changed for user1 (all applications),
enter in /etc/security/limits.conf

*   soft    nofile  1024
*   hard    nofile  4096
user1 soft nofile 4096
As I said,  you must change the soft limit !
The hard limit is the value up to which a user may increase the limit by using the 'ulimit' command.
To change only for one application, you could modify  the start script of that application (if one exists) by adding
ulimit -n 4096
 
There is no operating system 'ulimit' beyond what's defined in limits.conf.
There is a system wide maximum number of open files permitted (that's not an ulimit!)
To change, add
fs.file-max = 65535  
(or the like) in /etc/sysctl.conf
Reboot, or load new values from the sysctl.conf file by issuing
sysctl -p /etc/sysctl.conf
 
 wmp
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now