Buenas tardes. Tengo un problema realmente desconcertante con Java VM en mi servidor CentOS 6 (64 bits). Es un servidor con una CPU de cuatro núcleos (con hyperthreading), 16 GB de RAM y 2 TB de espacio en el disco duro (en el software RAID1). Pensé que podría preguntar aquí porque, según las preguntas frecuentes, las preguntas sobre "herramientas comunes" utilizadas por los desarrolladores son apropiadas. Con suerte, alguien puede arrojar algo de luz sobre el tema.JVM siempre más allá del 100% de uso de la CPU en CentOS 6
Ejecutaré una pieza de software Java en el servidor, las 24 horas del día. Hoy temprano (detectado algunas horas después de la medianoche en la configuración regional del servidor, que es notable porque es el primer día del mes) recibí informes de usuarios que se conectaban a este software como clientes que repentinamente se habían vuelto inutilizables. La JVM nunca fue interrumpida o reiniciada. Había sido reiniciado por última vez hace solo unos días, y había estado funcionando normalmente desde entonces (usando aproximadamente 5% o menos de CPU, lo cual es normal).
Esta vez, cuando me registré el proceso, que era esencialmente engullir todo el tiempo de CPU que podría luchar de las otras aplicaciones que se ejecutan en el servidor (según lo informado por la parte superior), o, muy por encima del 100% (según lo informado por PD). Traté de detener y reiniciar la aplicación, pero tan pronto como se ejecutara, el uso de la CPU dispararía inmediatamente por encima del 100% nuevamente. El uso de memoria es normal. Experimenté con diferentes banderas JVM, sin éxito. Traté de descargar la última versión del software y hacer una nueva instalación, pero tampoco ayudó. Finalmente, traté de descargar otro, una pieza completamente distinta del software Java, pero cuando lo ejecuté en el servidor, sufría el mismo problema.
Cuando descargué el software y lo ejecuté en mi computadora, el uso de la CPU era normal. Por lo tanto, supongo que está mal en el servidor, pero no puedo imaginar lo que podría ser. La JVM del servidor está actualizada, a partir de un paquete de repositorio estándar (sin personalización alguna).
De java -version:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
De uname -a:
2.6.32-131.21.1.el6.x86_64 #1 SMP Tue Nov 22 19:48:09 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
De centos-release/redhat-release/sistema de liberación:
CentOS release 6.2 (Final)
informes libres alrededor de 14.5 gb de RAM libre. df informa aproximadamente 1,4 tb de espacio libre en disco en la partición/home (donde se encuentra el software en cuestión y todos sus archivos).
¿Alguna idea? Por favor, pregunte si necesita más información, y siéntase libre de sugerir procedimientos para probar/verificar. Al buscar el problema, encontré varias instancias de gente que tenía problemas con JVM al robar toda la CPU en CentOS, pero ninguno de ellos parecía coincidir con mi problema.
Hubo un segundo intercalar hoy. ¡Ahora los temporizadores están expirando un segundo * antes * de que se establezcan! Reiniciar. –
Oh. Te avisaré si funciona para que puedas publicarlo como respuesta más tarde. – Protected
Eso funcionó por completo. Gracias. Normalmente no puedo reiniciar el servidor sin tener una razón concreta primero, ya que interrumpe el servicio para todos los clientes. – Protected