Maison > Java > le corps du texte

Espace de tas Java - malgré la croissance du tas

WBOY
Libérer: 2024-02-09 12:40:10
avant
1084 Les gens l'ont consulté

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"
Copier après la connexion

et jmeter.bat

set jvm_args=-xms1g -xmx8g
set heap=-xms1g -xmx8g
Copier après la connexion

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"
Copier après la connexion

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')
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal