서버 CPU 점유율 99% ㅡ ㅡ;;
글쓴이: 하하 / 작성시간: 목, 2004/09/23 - 3:57오후
어느 순간 게임 서버의 CPU 사용율이 99% 로 폭주합니다.
잘되다가.. 하루 정도 지나면... 폭주하는거 같습니다.
strace -p pid 를 해보면..
아래와 같이..
일정 함수를.. 계속 호출하여.. 무한 루프를.. 도는 듯한 현상이
일어납니다.
ㅠㅠ;;
futex(0x42131300, FUTEX_WAKE, 1, NULL) = 1 brk(0) = 0x9b1a000 brk(0x9b24000) = 0x9b24000 futex(0x42131300, FUTEX_WAKE, 1, NULL) = 1 brk(0) = 0x9b24000 brk(0x9b2e000) = 0x9b2e000 futex(0x42131300, FUTEX_WAKE, 1, NULL) = 1 brk(0) = 0x9b2e000 brk(0x9b38000) = 0x9b38000 brk(0) = 0x9b38000 brk(0x9b42000) = 0x9b42000 futex(0x42131300, FUTEX_WAKE, 1, NULL) = 1 mprotect(0x41b72000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41b7c000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41b86000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41b90000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41b9a000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ba4000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bae000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bb8000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bc2000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bcc000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bd6000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41be0000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bea000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41bf4000, 40960, PROT_READ|PROT_WRITE) = 0 mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x41e00000 munmap(0x41e00000, 0) = -1 EINVAL (Invalid argument) munmap(0x41f00000, 1048576) = 0 mprotect(0x41e00000, 45056, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e0b000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e15000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e1f000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e29000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e33000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e3d000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e47000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e51000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e5b000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e65000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e6f000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e79000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e83000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e8d000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41e97000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ea1000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41eab000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41eb5000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ebf000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ec9000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ed3000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41edd000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ee7000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x41ef1000, 40960, PROT_READ|PROT_WRITE) = 0 mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x46933000 munmap(0x46933000, 839680) = 0 munmap(0x46b00000, 208896) = 0 mprotect(0x46a00000, 45056, PROT_READ|PROT_WRITE) = 0 mprotect(0x46a0b000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x46a15000, 40960, PROT_READ|PROT_WRITE) = 0 mprotect(0x46a1f000, 40960, PROT_READ|PROT_WRITE) = 0
Forums:
헉.. 일단 문제 원인은 알았습니다... ㅠㅠ게임 로그가.. 너
헉.. 일단 문제 원인은 알았습니다... ㅠㅠ
게임 로그가.. 너무 많아지면.. 위와 같은 에러가
납니다.
“바람에게도 길은 있다. 나는 비로소 나의 길을 가느니. 길은 언제나 어디에나 있다.”
여담이지만.. 저도 지난번에 파일 디스크립터를 안 닫아 줘가지고 트래픽
여담이지만.. 저도 지난번에 파일 디스크립터를 안 닫아 줘가지고 트래픽 몰릴때면 여러 곳이 돌아가며 에러가 나서 찾느라 3일을 철야를 했었죠.. 제가 짠게 아니여서 분석하면서 하느라 ... 파일 디스크립터 shortage가 난게 아닌지 ...
댓글 달기