Bitaholic

Linux에서 한세션에서의 파일파일 갯수 늘리기 본문

Computer/Linux

Linux에서 한세션에서의 파일파일 갯수 늘리기

Bitaholic 2009. 9. 14. 10:40
$ ulimit -a
를 하면 아래와 같이 현재 쉘에서 실행된 프로세스들의 가능한 리소스의 크기를 알려준다.
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

톰캣을 띄워서 많은 수의 클라이언트를 상대할 때 "Too many open files" 라는 ServerSocket에러가 날 때가 있는데 이것은 이 쉘에서 실행된 프로세스의 파일 오픈 갯수제한 때문일 수 있다.

이 문제를 해결하려면 아래와 같이 명령하면 제한이 늘어나지만 현재 열려 있는 쉘에 대해서만 적용된다.

$ ulimit -n 65535

영구적으로 늘리려면
/etc/security/limits.conf 파일을 열어 아래의 코드를 추가해 주면 된다.(둘중 하나를 해주면 된다)

 root          soft           nofile         65535
 root          hard         nofile         65535

 *               -               nofile         65535

soft : 가능하면 지켜야 할 값
hard : (MUST)반드시 지켜야 할 값
* : 모든 유저
Comments