Maison  >  Article  >  Espace de tas Java - malgré la croissance du tas

Espace de tas Java - malgré la croissance du tas

WBOY
WBOYavant
2024-02-09 12:40:101029parcourir

L'espace de mémoire Java est la zone de mémoire utilisée pour stocker les instances d'objets dans la machine virtuelle Java. Il s'agit d'une partie importante de l'exécution du programme Java. La taille de l'espace du tas peut être ajustée dynamiquement au fur et à mesure de l'exécution du programme, l'espace du tas peut être augmenté ou diminué. Bien que la taille de l'espace du tas puisse être augmentée, il convient de veiller à gérer correctement l'utilisation de l'espace du tas pour éviter un débordement de mémoire. Dans la gestion de l'espace du tas Java, vous devez prêter attention au fonctionnement du mécanisme de récupération de place et définir raisonnablement la taille de l'espace du tas pour obtenir un fonctionnement efficace du programme.

Contenu de la question

Le problème auquel je suis confronté est que l'exception d'espace de tas Java se produit, mais je viens d'augmenter l'espace de tas. J'ai augmenté l'espace du tas

jmeter.sh

jvm_args="-xms1g -xmx8g"
heap="-xms1g -xmx8g"

et jmeter.bat

set jvm_args=-xms1g -xmx8g
set heap=-xms1g -xmx8g

Il n'y a pas d'écouteur dans mon plan de test, jmeter est démarré via la ligne de commande mais rien ne se passe, une exception d'espace de tas Java apparaît toujours.

Y a-t-il de vrais experts qui peuvent m'aider ?

Totalement anormal :

java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid32652.hprof ... Heap dump file created [8922760824 bytes in 40.975 secs] summary + 55 in 00:01:03 = 0.9/s Avg: 9671 Min: 0 Max: 89909 Err: 41 (74.55%) Active: 50 Started: 50 Finished: 0 summary = 3811 in 00:03:38 = 17.5/s Avg: 1149 Min: 0 Max: 89909 Err: 41 (1.08%) Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "boundedElastic-94"

Solution de contournement

Peut-être que je ne suis pas un "vrai expert" mais je peux voir la jmeter.sh 文件中的更改不正确。您应该使用 export commande pour définir les variables d'environnement.

Vous pouvez également obtenir la taille effective du tas jvm sur n'importe quel élément de test jsr223中使用以下代码> :

println('Current heap: ' + Runtime.getRuntime().maxMemory() / 1024 / 1024 / 1024 + ' GB')

Plus d'informations : 9 solutions simples pour l'échec du test de charge jmeter "manque de mémoire"

Si vous appliquez des modifications au tas et que vous rencontrez toujours des erreurs, la seule façon de les gérer est de passer en Test distribuéMode

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer