unix ulimit 설정.
기술 이야기 2012. 11. 4. 02:25 |한동안 잊고 살았더니 기억안나는 것들 투성이다.
오늘 한참을 뒤져서 기억해낸 ulimit 설정...
예전 openldap 이 accept 하는 소켓 갯수가 모자라서 열심히 찾아서 알게된 사실,.. file descriptor 의 open 개수 제한이었단 것.
이외에도 ulimit 은 시스템의 리소스를 하나의 프로세스나 사용자가 독점하는 것을 막기 위한 설정인데, 문제는 서버 서비스를 할 때 이런 거 디폴트로 두면 항상 동시 처리 갯수에 문제가 있다는 것...
관련하여 정리된 글 하나 스크랩...
출처 : http://blog.naver.com/juner84?Redirect=Log&logNo=100162972371
[Linux] ulimit 과 openfile 설정 ulimit는 유저가(쉘, 프로세스)에 대해서 할당할 자원의 한계를 정하는 것으로 다중 프로그램/사용자를 기본으로 하는 리눅스 시스템에서 과부하를 막아주는 설정이다. 나 같은 경우는 linux서버의 openfile, corefile size를 많이 제어하는데 사용한다. 그 이유는 분산처리 파일 환경, 또는 디비서버를 운영할 경우 동시에 많은 파일들이 읽고 쓰고를 해서 openfile error가 생기는것을 막기 위해서 이다. 기본적으로 hard 설정과 soft 설정이 있는데 각 설정을 보려면 아래의 명령어로 확인한다. $ ulimit -Ha $ ulimit -Sa (하드 설정 전체 보기 / 소프트 설정 전체 보기) 하드는 해당쉘의 최대값을 뜻한다 하면 되고, 소프트는 현재 설정을 말한다 생각하면 된다. hard 설정의 경우는 root권한으로만 변경 가능 $ ulimit -Sa core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 256 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 266 virtual memory (kbytes, -v) unlimited
/etc/security/limits.conf 에 설정 파일이 있으며 파일을 변경하거나 ulimit -Sn 10240 <- 이런 식으로 각 설정별 옵션을 사용해서 변경 가능하면 된다. 수정한 내용의 적용은 해당 유저가 새로운 접속을 시도하면 적용된다.
<참고> http://blog.naver.com/mklife/150034479727 http://coffeenix.net/board_view.php?bd_code=1422
|