기술지원 문의

[답변]Resin Error 관련
관리자 / 2011-11-28 10:03

안녕하세요. 기술지원팀 입니다.

 

질문하신 Error 내용은 File Descriptor 값이 부족하여 발생한 오류 입니다.

 

그래서 조치하신 부분이 FD값을 8192 값 까지 변경하신걸로 보이네요.

 

하지만 단순히 사용자 증가나 부하로 인한 FD값 부족이라면 값을 증가시키는것으로

 

임시 조치가 가능하지만, Application 상 소켓이나 파일의 close() 를 제대로 명시 하지

 

않으셨다거나, 불필요한 파일이나 소켓을 중복하여 open 하셧다면 값 조정이

 

무의미 해져 해당 문제가 재발생 할 수 있습니다.

 

일단 실제 운영되고 있는 프로세스의 FD값이 왜 부족한지 체크가 필요할 것 같습니다.

 

리눅스를 기준으로 서비스 되고 있는 프로세스 ID를 가지고 현재 열려 있는

 

소켓이나 파일들 즉 FD 상태를 확인 하실수 있습니다.

 

일단 ps -ef  | grep resin  명령어로 실제 서비스 되고 있는

 

자식프로세스의 ID값을 구하신후

 

/proc/프로세스ID값 경로로 이동하여

 

ls -al fd 라는 명령어로 해당 프로세스의 FD 상태를 확인하실수 있습니다.

 

솔라리스 같은 경우 pfiles 명령어로 확인이 가능합니다.

 

해당 FD 상태를 파악하여 소켓이나 파일중 제대로 close()가 안되는 부분이

 

있는지 또는 똑같은 파일을 중복하여 여러개 오픈 하진 않는지 확인해 보시기 바랍니다

 

감사합니다.