Nous avons un problème de fuite de mémoire étrange avec un processus Java en cours d'exécution dans Linux a une utilisation de swap toujours croissant. Donc, naturellement, nous avons regardé le tas de mémoire et avons également utilisé un profileur pour le surveiller sur une période de temps. Nous avons constaté queQuels sont les outils qui peuvent analyser l'utilisation de la mémoire en dehors du tas dans Java?
1) Le nombre de threads ne pousse pas
2) L'utilisation du tas ne pousse pas
3) Cependant, l'utilisation (VIRT) ne cesse de croître (qui peut devenir un problème parce que le système commence à courir hors de l'espace de swap)
Maintenant, il y a une tonne d'outils qui peuvent vider le tas ou surveiller le tas mais aucun pour la mémoire en dehors du tas. Quelqu'un a des idées? PS Il s'agit d'un serveur distant, nous n'avons accès à aucune interface graphique.
Quelle JVM/version utilisez-vous? C'est peu probable mais peut-être en essayer un autre juste pour exclure un bug de la JVM. – leonm
J'ai essayé openjdk et le JDK de Sun, les deux mêmes résultats sous Linux. – erotsppa