다시 한번 100 % CPU를 사용하는 아파치


1

최근, 아파치는 CPU의 100 %를 사용하기 시작 : top나를 준다100 % CPU 사용량

다른 유사한 스레드에서 mod_status를 사용하는 팁을 얻었습니다. 많은 양의 NULL 요청 외에도 다음을 제공합니다.

CPU Usage: u2.16 s1.32 cu0 cs0 - .0835% CPU load
1.2 requests/sec - 17.6 kB/second - 14.6 kB/request
8 requests currently being processed, 42 idle workers

액세스 및 오류 로그에는 전혀 놀라운 내용이 없습니다.

CPU 사용률은 .8 %입니다. 또 다른 팁은 다음을 사용하는 것입니다 strace.

root@server:~# strace -p 1956
Process 1956 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>

그리고 추가 출력을 생성하지 않고 30 분 이상 동안 이와 같이 유지됩니다. 아파치를 다시 시작하면 1 초 미만의 문제가 해결되었습니다. 서버는 apache2에서 최신 웹 사이트뿐만 아니라 몇 가지 사용자 정의 파이썬 스크립트를 실행하지만 스크립트를 끄거나 (첫 번째 스크립트에서는 활성화하지 않음) 장소) 아무것도 변경하지 않았습니다. 아파치를 중지하고 서버의 전원을 끈 후 몇 분 후에 서버의 전원을 켜고 모든 서비스를 다시 시작한 후 무작위로 다시 팝업하기 위해 몇 시간 동안 CPU 사용량이 낮게 유지되었습니다 (?).

내 서버의 DigitalOcean CPU 통계는 다음과 같습니다. DigitalOcean 통계 봇을 다시 시작할 때까지 거의 반나절 동안 CPU 사용량이 얼마나 높았는지 확인할 수 있습니다. 몇 시간 동안 안정을 유지 한 다음 다시 팝업하기 만하면됩니다.

나는 완전히 단어를 잃어 버렸고 코드에서 어떤 문제가 나에게 이런 문제를 주며 아파치 자체가 원인인지 알아 내기 위해 무엇을 할 수 있는지 모르겠습니다 ...

따라서 질문에 대한 힌트를 주시면 감사하겠습니다. 다른 작업을 수행 할 수 있습니까? 어떤 것을 확인하지 않았을 수 있습니까? 이것은 내 자신의 코드에 확실합니까? 파이썬 코드의 어떤 부분이 무한 루프 또는 유사한 것을 통해 앱과 충돌하는지 어떻게 알 수 있습니까?


어떤 운영 체제와 Apache 버전을 사용하고 있는지 언급하지 않았습니다.
— Cristian Ciupitu

죄송합니다. 데비안 7 x86, apache2 -v는 서버 버전 : Apache / 2.2.22 (데비안)
— CBenni

빈 웹 사이트를 제공하는 경우에도 CPU 사용량이 높아지고 있습니까? 스크립트를 끈다 고 말했지만 Django 애플리케이션으로 수행 한 작업을 말하지 않았습니다. 이 Linux 성능 자료 도 확인하십시오 .
— Cristian Ciupitu

django 앱은 분명히 여전히 실행 중입니다. 무한 루프에 걸리는 코드의 일부 (아마도 캐싱 루틴)가 의심됩니다. 내가 이해하지
— 못하는

Django 애플리케이션은 Apache 서버와 어떻게 통합됩니까? 데이터베이스와 같은 외부 리소스에 의존합니까?
— Cristian Ciupitu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.