다시 한번 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.