본문 바로가기
프로그래밍/linux

ulimit 설정 관련

by W.C. 2016. 5. 13.
728x90

리눅스에서 ulimit 설정이 있다,


이걸 알게된 계기는 Hadoop 설치시 권장 설정 항목에 명시되어 있기 때문이었다.



hortonworks 사이트 설치 문서에 위와 같이 명시되어 있다.


그럼 ulimit란 게 무엇 일까?


--> 쉘 내부 명령어로 시스템 자원의 제한 값을 조정하는 것이라고 한다.


>ulimit -a 


위와 같이 나온다!


잠깐 ulimit 옵션을 보면


-a : 모든 제한 사양 뷰

-c : 최대 코어 파일 사이즈 

-d : 프로세스 데이터 세그먼트의 최대 크기 

-f : shell에 의해 만들어질 수 있는 파일의 최대 크기 

-s : 최대 스택 크기 

-p : 파이프 크기 

-n : 오픈 파일의 최대수 

-u : 오픈파일의 최대수 

-v : 최대 가상메모리의 양 

-S : soft 한도 

-H : hard 한도


이다.


-n 옵션 open file 개수는 나중에 시스템 성능에 영향을 미칠 수도 있다.


너무 많아서도 안돼고 너무 적어서도 안된다.


hadoop의 경우 file의 접근이 많다 보니 위와 같이 설정을 권장하는 것 같다.


기본 설정은 1024로 된 경우가 많다.


설정 변경을 하기 위해서는


ulimit -n [원하는 값] 을 하면 


변경된 것 처럼 보인다.


하지만! 접속 쉘을 나가면 설정 값은 초기화로....


설정 값을 변경해 줄 수 있는 방법을 찾아 보았다.


>vi /etc/security/limits.conf

에서


root soft nofile 65535[open file 수]

root hard nofile 65535[open file 수]


로 설정해주면 된다.


사용자 별로 구분되어 설정되어 진다.


참조


http://faq.hostway.co.kr/Linux_ETC/7179


http://lunatine.net/limits-conf-nofile-big-value-effect/