JVM toujours au-delà de 100% de l'UC dans CentOS 6

Bon après-midi. Je suis vraiment très déroutant problème avec la machine virtuelle Java sur mon CentOS 6 (64 bits), server. C'est un serveur avec un PROCESSEUR quad-core (avec hyperthreading), 16 go de RAM et 2 TO d'espace disque dur (sur le logiciel RAID1). J'ai pensé que je voudrais poser ici parce que, selon la FAQ, questions au sujet de "commun " outils" utilisés par les développeurs sont appropriées. J'espère que quelqu'un peut jeter quelque lumière sur la question.

Je lance un morceau de logiciel Java sur le serveur, 24h/jour. Plus tôt aujourd'hui (détecté quelques heures après minuit sur le serveur de paramètres régionaux, ce qui est remarquable parce que c'est le premier jour du mois), j'ai reçu des rapports par les utilisateurs se connectant à ce logiciel comme des clients à ce sujet d'avoir subitement de devenir inutilisable. La JVM n'a jamais été interrompu ou redémarré. Il avait été dernier redémarrage il y a quelques jours, et il a fonctionné normalement depuis (à l'aide d'environ 5% ou moins de CPU, ce qui est normal).

Cette fois, quand j'ai vérifié le processus, il s'agissait essentiellement d'engloutir tous les temps CPU qu'il pourrait lutter à partir de la d'autres applications en cours d'exécution sur le serveur (tel que rapporté par le haut), ou, de façon plus de 100% (tel que rapporté par le ps). J'ai essayé d'arrêter et de redémarrer l'application, mais dès qu'il était en cours d'exécution, l'utilisation du PROCESSEUR serait immédiatement tirer vers le haut au-dessus de 100%. L'utilisation de la mémoire est normal. J'ai expérimenté avec différentes JVM drapeaux, en vain. J'ai essayé de télécharger la dernière version du logiciel et de faire une nouvelle installation, mais cela n'a pas aide non plus. Enfin, j'ai essayé de télécharger un autre, complètement distinctes morceau de logiciel Java, mais quand je l'ai exécuté sur le serveur, il a souffert du même problème.

Quand j'ai téléchargé le logiciel et il a couru sur mon ordinateur, CPU usage était normal. Donc, je pars du principe qui est mauvais dans le serveur, mais je ne peux pas imaginer ce que cela peut être. Le serveur de la JVM est jusqu'à ce jour, à partir d'une norme, d'un référentiel de paquet (pas de personnalisation que ce soit).

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 la commande 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/système de libération:

CentOS release 6.2 (Final)

rapports gratuits d'environ 14,5 go de mémoire vive. df rapports sur 1.4 tb d'espace libre dans la partition /home (où le logiciel en question, et tous ses fichiers sont situés).

Des idées? Demandez si vous avez besoin de plus de données, et n'hésitez pas à suggérer des procédures pour moi d'essayer/vérifier. Lorsque l'on cherche le problème, j'ai trouvé plusieurs cas de personnes ayant des problèmes avec la JVM de voler tous les CPU sur CentOS, mais aucun d'eux ne semblait correspondre à mon problème.

Il y avait un saut de seconde aujourd'hui. Maintenant, les minuteries sont expirant une seconde avant ils sont ensemble! Redémarrage.
Oh. Je vais vous laisser savoir si cela fonctionne si vous pouvez poster une réponse plus tard.
Qui a totalement fonctionné. Merci. Je ne peux pas normalement redémarrer le serveur sans avoir une raison concrète d'abord, puisqu'il les interruptions de service pour tous les clients.

OriginalL'auteur Protected | 2012-07-01