Utilisation du tas natif
L'utilisation du tas natif atteint normalement un niveau stable puis se maintient à peu près à ce niveau. Vous pouvez surveiller la quantité de mémoire engagée dans le tas natif en observant le nombre de pages "Inuse" dans la sortie de svmon.
Toutefois, comme du code compilé JIT est alloué au tas natif avec malloc(), il peut se produire un augmentation lente et continue de l'utilisation du tas natif, car les méthodes peu utilisées finissent quand même par atteindre le seuil à partir duquel elles sont éligibles à la compilation JIT.
(warm) Compiling java/lang/System.getEncoding(I)Ljava/lang/String;
+ (warm) java/lang/System.getEncoding(I)Ljava/lang/String; @ 0x02BA0028-0x02BA0113
(2) Compiling java/lang/String.hashCode()I
+ (warm) java/lang/String.hashCode()I @ 0x02BA0150-0x02BA0229
(2) Compiling java/util/HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)
Ljava/lang/Object;
+ (warm) java/util/HashMap.put(Ljava/lang/Object;Ljava/lang/Object;)
Ljava/lang/Object; @ 0x02BA0270-0x02BA03F7
(2) Compiling java/lang/String.charAt(I)C
+ (warm) java/lang/String.charAt(I)C @ 0x02BA0430-0x02BA04AC
(2) Compiling java/util/Locale.toLowerCase(Ljava/lang/String;)
Ljava/lang/String;
+ (warm) java/util/Locale.toLowerCase(Ljava/lang/String;)Ljava/lang/String;
@ 0x02BA04D0-0x02BA064C
Une fois que vous avez surveillé la quantité de segments de mémoire natifs que vous utilisez, vous pouvez augmenter ou diminuer le segment de mémoire natif maximal disponible en modifiant la taille du segment de mémoire Java™ . Cette relation entre les segments de mémoire se produit car l'espace adresse de processus non utilisé par le segment de mémoire Java est disponible pour l'utilisation du segment de mémoire natif.
Vous devez augmenter le tas natif si le processus génère des erreurs en rapport avec un échec d'allocation de ressources natives ou l'épuisement de l'espace d'adressage du processus. Ces erreurs peuvent prendre la forme d'un message d'erreur interne de la JVM ou d'un message de détail associé à une OutOfMemoryError. Le message associé aux erreurs pertinentes indique clairement que le problème est lié à un épuisement du tas natif.