본문 바로가기
Unix.Linux

리눅스 open files 설정 - ulimit

by 누피짱 2013. 5. 11.

ulimit 는 하나의 유저(쉘,프로세스)에 대허서 할당할 자원량의 한계를 정하는 것으로서

 

다중 프로그램/사용자를 기본으로하는 리눅스 시스템에서 과부하를 막아주는

(한프로세스가 미쳐도 다른것에 영향이 덜가도록)

 

방패가 되어 주는 유용한 설정이다.


ulimit -Ha / ulimit -Sa

(하드 설정 전체 보기 / 소프트 설정 전체 보기)

=>하드는 해당쉘의 최대값을 뜻한다 하면 되고,  소프트는 현재 설정을 말한다 생각하면 된다.


1. open files 최대 개수 확인

먼저 ulimit -a 으로 open files 개수를 확인한다. ulimit -aH는 hard limit, -aS는 sort limit를 확인.
csh 쉘을 사용하면 limit 명령으로 살펴볼 수 있다.

 
$ 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) 69632
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
 


2. 프로세스별로 오픈된 파일 개수 확인

열린 파일

lsof 명령으로 확인할 수 있다. 지정한 프로세스가 몇개의 파일을 사용중인지를 확인할 때는 다음처럼 실행
하면 알 수 있다.

lsof -p PID | wc -l

1234, 1236 PID 2개에 대해 살펴본다면 콤마(,)로 PID를 구분해서 적어주면 된다.

 
$ lsof -p 1234,1236 |wc -l
 


3. 파일개수 늘리기

리눅스환경을 기준으로 설명한다. truefeel 사용자의 open files개수를 4096(sort limit),
6144(hard limit) 로 제한한다면 /etc/security/limits.conf에 다음 줄을 추가해주면 로긴시 적용된다.

리눅스 전체르르 변경하려면 사용자 대신에 * 를 사용한다.
 


#user 사용자

user         soft      nofile          4096
user         hard     nofile          6144

*              soft      nofile          2048
*              hard     nofile          10240



댓글