Automatic translation

Archives

février 2012
L Ma Me J V S D
« jan    
 12345
6789101112
13141516171819
20212223242526
272829  

Contributeurs

OutOfMemoryError: unable to create new native thread

L’OutOfMemory est une des erreurs les plus célèbres de la JVM. Comme son nom l’indique, elle se produit quand la JVM n’a plus de mémoire. J’ai dernièrement rencontré cette erreur  et cela m’a permis de découvrir les méandres peu connues de la mémoire de la JVM.

Tout d’abord petit rappel sur la répartition de la mémoire de la JVM:

. . . → Lire la suite: OutOfMemoryError: unable to create new native thread

OutOfMemoryError : les outils de diagnostic

Les erreurs liées à un manque de mémoire sont une des hantise du développeur Java. De deux choses l’une, soit une augmentation du volume de mémoire allouée résout le problème définitivement, soit cela ne fait que retarder l’échéance et c’est là que les choses se corsent!

Le bon vieux débogueur ne peut pas nous aider pour ce genre de diganostic, il ne produit pas d’informations utiles concernant l’utilisation réelle de la mémoire. Il est bien sûr possible de générer un dump mémoire (avec un ‘kill -3′ sous Linux), néanmoins le résultat peut être assez lourd à analyser. Confronté récemment à un tel problème, je me suis rendu compte que Sun fournit avec son JDK un ensemble d’outils permettant de résoudre bon nombre de problème. Ces outils sont disponible depuis la version 1.5 du JDK, ils ne sont pas suportés par Sun et ne fonctionnent que sur certaines plate-formes : Linux, Solaris, Mac OS, mais pas Windows… Voici donc une présentation succincte des possibilités offertes pour diagnostiquer un problème de fuite mémoire.

. . . → Lire la suite: OutOfMemoryError : les outils de diagnostic