2GB의 RAM이있는 debian-lenny x64 서버에서 Apache 2.2의 012catmod_jk 1.2.26을 실행하고 있습니다.
나는 내 서버에 이상한 문제가있다 : 매시간마다 & 몇 분마다 부하가 걸리고, tomcat ajp 커넥터는 메모리 누수 오류로 일시 중지되지만이 오류는 시스템의 다른 부분에도 영향을 미친다 (예 : 일부 다른 실행중인 응용 프로그램도 작동을 멈 춥니 다. & 잠시 동안 문제를 해결하기 위해 서버를 재부팅해야합니다.
나는 며칠 동안 catalina.out을 확인했지만, 단지이 메시지와 AJP를 일시 중지하기 전에의 고유 한 오류 패턴이없는 것 :아파치, tomcat 및 mod_jk 및 mysql을 사용한 메모리 누수
Exception in thread "ajp-bio-8009-Acceptor-0" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)...
를 : 일시 중지하기 전에
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
때때로이 메시지가
& 때로는이 하나
INFO: Reloading Context with name [] has started
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5482)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:230)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3847)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:424)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1214)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1400)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1389)
at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: null, message from server: "Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug"...
& 다른 배 outpu 프로그램의 다른 부분과 관련된 메시지.
내 응용 프로그램 소스 코드를 확인했습니다. & 문제가 발생하지 않는다고 생각합니다. 또한 jConsole을 사용하여 메모리 사용량을 확인했습니다. 방황하는 요점은 서버가 실패 할 때 힙 & 힙이 아닌 jvm 메모리 공간에 많은 양의 사용 가능한 메모리가 있다는 것입니다. 앞에서 말했듯이, 서버를 크래쉬 한 후에 많은 다른 어플리케이션들도 역시 실패 할 것이므로 & 자원을 일시적으로 사용할 수 없다는 메시지가 나타납니다 (limits.conf 파일도 점검했습니다).
그래서 나는이 심각한 문제와 많은 시간을 헷갈 렸습니다. & 나는 그것에 대해 더 이상 생각하지 못했습니다. 그래서, 아무도 나에게이 복잡한 문제를 해결하기 위해 어떤 제안을 해줄 수 있습니까? & 알 수없는 문제 ???
이 오류의 가능한 원인은 무엇입니까?
아마도 serverfault.com을 살펴볼 수 있습니다. – Sietse