오픈에러 24번.... 갑자기 왜??
글쓴이: jwy22 / 작성시간: 토, 2004/10/09 - 2:58오후
안녕하세요.
현제 보드게임하나를 운영하고 있습니다.
게임서버가 잘운영되다가 갑자기 문제를 일으켰는데...정확한 문제의 원인을 찾기 어려워서 도움을 청하려 합니다.
게임서버는 레드헷 커널 2.4.18-3smp로 RTS를 위해서 커널 컴파일을 하였습니다.
(컴파일은 제대로 진행한것 같습니다. 몇개월동안 잘 사용하고 있었습니다.)
최근 몇일 사이에 서버가 일정 시간이 지나면 죽어서 원인을 찾아 보던중에
평소에는 쌓이지 않은 로그가 쌓여서 확인해보니 exit() 함수가 있더군요.
exit 로 인해서 서버가 죽는것을 간단히 테스트를 해서 확인했습니다.
일단 서버가 죽는것은 막았는데...
이젠 일정시간이 지나면 같은 로그가 뜨면서 제대로 동작하지 않습니다.
파일(fopen, accept) 오픈을 할 수 없다고 하면서 에러번호(errno) 24번이라고 찍으면서 더이상의 소켓접속도 파일 쓰기도 하지 않습니다.
혹시나 해서
sysctl -a 로 확인해 봤습니다.
fs.lease-break-time = 45 fs.dir-notify-enable = 1 fs.leases-enable = 1 fs.overflowgid = 65534 fs.overflowuid = 65534 fs.dentry-state = 3561 748 45 0 0 0 fs.dquot-nr = 0 0 fs.file-max = 52422 fs.file-nr = 3420 584 52422 fs.inode-state = 3233 0 0 0 0 0 0 fs.inode-nr = 3233 0
핸들러값은 아직 넉넉했습니다.
메모리도 아주많이 남았구요.
어디를 어떻게 확인을 해줘야 할지 난감합니다. 비슷한 경험을 하신 분들이 있으리라고 생각합니다.
이것 때문에 몇일째 고생중이라.. 제대로 질문한것인지 모르겠습니다.
간단한 조언이라도 부탁드립니다.
감사합니다.
Forums:
비슷한 경험을 해본적이 없지만, 답답한 심정을 조금이나마 달래드리고자
비슷한 경험을 해본적이 없지만,
답답한 심정을 조금이나마 달래드리고자 몇글자 써봅니다.
제생각에는 커널 리소스를 좀더 확인해 볼 필요가 있을 것 같습니다.
소켓생성에 실패를 하였다는 것은,
아무래도 자신이 가지고 있는 리소스가 부족하다는 뜻 같은데요,,
RTS 사용시 커널 재컴파일시 문제점이 발생하는지도,
확인해 보아야 할것 같네요...
그럼,, 수고하세요...
errno 24면 too many open files인데열고서 닫지
errno 24면 too many open files인데
열고서 닫지 않은게 있는지 살펴보는게 먼저가 아닐런지요.
ulimit도 확인해보시고요.
먼저 답변 감사합니다.커널 재 컴파일시 문제점이라면 어떻게 확인
먼저 답변 감사합니다.
커널 재 컴파일시 문제점이라면 어떻게 확인 가능한가요?
위의 내용에서 빠졌습니다.
서버구조는 RTS + thread pool 입니다.
내손안에는 아직 비장의 무기가 남아 있다.
그것은 희망이다.
-나폴레옹-
일단 커널쪽 문제보다는 angpoo 님 말씀대로 close를 안 해준 문
일단 커널쪽 문제보다는 angpoo 님 말씀대로 close를 안 해준 문제가 아닐까
보이는데요.
간단히 lsof 등을 때려서 현재 open된 파일들 리스트를 확인해 보세요.
그리고 현재 프로세스에서 최대로 열 수 있는 파일갯수도 한번 찍어보시고요.
음..
제 리눅스 테스트 장비에서는 기본이 1024 가 나오네요..
Linux hostname 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 GNU/Linux
잘 돌아가던 프로그램이 갑자기 그런다는 게 좀 이상하긴 하네요. ㅡ.ㅡ
댓글 달기