리눅스에서 한프로세스가 열수 있는 파일수를 늘려서 서비스 해
글쓴이: darin / 작성시간: 화, 2003/08/05 - 8:43오후
리눅스로 서버프로그램을 개발하고 있는데요..
접속한 클라이언트의 소켓을 계속 연결유지하고 있는 방식이라..
디폴트로 설정된 한 프로세스가 열수 있는 1024개의 제한을
늘려주고 싶습니다..
그래서 자료 찾다보니
fs.h limit.h 두개 파일의 INR_OPEN 값을 늘려서
커널 컴파일을 하면 된다고 해서
32768개로 늘려서 커널 컴파일을 해보았는데요..
컴파일도 이상없이 잘되고 프로세스가 열수 있는 값도 변경되었는데..
문제는 가끔가다가 서버가 다운되는 현상이 많아지고.. 특정 어플리케이션(mysql등) 컴파일 도중 서버가 다운되버리는 현상이 생겼습니다.
커널 파라미터를 바꾼게.. 문제가 된것 같은데.. 다른분들은 어떻게 서비스
를 하는지 궁금합니다.
혹시 리눅스 파일오픈수를 늘려서 서비스 해본경험이 있으신분 계신가요?
서버한대당 1024명의 동시사용자밖에 수용할수 없다면 너무 작은것 같은데.. 다들 어떻게 사용하고 계신지..
제가 한 방법이 틀린건지 아니면 다른 방식으로 해야되는지..
방법을 알고계신 실무경험자가 있으면 꼭 좀 알려주십시오..
개발은 마무리 되어 가는데.. 영 답답하네요..
참고로 개발서버 사양은..
리눅스 커널버전 2.4.18 (레드햇 8.0으로 인스톨) 했구요..
cpu 2.4ghz, 512M 메모리 입니다.
Forums:
프로세스마다 resource 의 limit 를 제한할 수 있고, 이값은
프로세스마다 resource 의 limit 를 제한할 수 있고, 이값은 부모프로세스로부터 상속됩니다.
getrlimit/setrlimit 를 참조해 보세요.
혹은 shell 에서 설정할려면
bash 는 ulimit
csh 은 limit
을 참조하세요.
답변감사.. 그런데..setrlimt나 ulimit로 커널 제한값이상으로도
답변해주셔서 감사합니다.
그런데..
setrlimt나 ulimit로 커널 제한값이상으로도 올릴수 있나요??
전 커널 설정치 이상으로는 못 올리는걸로 알고 있었는데..
man에도 그런 비슷한 설명이 나와있는것 같고..
테스트함 해보지여..
답변감사합니다.. 그럼 좋은하루 보내시고..
너무 많은 자료를 받아가고 있네요.. 여러분 고맙슴다..
댓글 달기