/ / Besoin d'imprimer l'utilisation du tas JAVA et de réinitialiser la valeur GC à l'aide du script PERL / PowerShell - java

Besoin d'imprimer l'utilisation de la pile JAVA et de réinitialiser la valeur du GC à l'aide du script PERL / PowerShell - java

Je suis nouveau JAVA.

Nous utilisons l’un des outils qui utilise la taille JAVA Heap.

Récemment nous sommes confrontés "java.lang.OutOfMemoryError: espace de pile Java"et l'outil devient HUNG.

Maintenant, je prévois d’écrire un script pour obtenir la taille du tas et, s’il est trop long, j’ai besoin de nettoyer le GC pour que l’utilisation du tas soit de nouveau réduite.

S'il vous plait aidez moi avec ceci.

Système d'exploitation de la machine: Win 2012 Server

Réponses:

1 pour la réponse № 1

D'accord. Deux choses.

  1. Si vous obtenez une erreur OutOfMemoryError, la récupération de place ne vous aidera pas. OutOfMemoryErrors sont:

    Lancé lorsque la machine virtuelle Java ne peut pas allouer un objet car il manque de mémoire, et plus de mémoire ne peut être rendue disponible par le ramasse-miettes. Les objets OutOfMemoryError peuvent être construits par la machine virtuelle comme si la suppression était désactivée et / ou la trace de pile n'était pas accessible en écriture. La source

  2. Il existe quelques implémentations JMX pour Perl. Voici le premier résultat de Google

Cependant, cela ne va pas aider, car le problème n'est pas ce que vous pensez. Le problème est soit:

  • Le programme nécessite plus d'espace mémoire que ce qui est actuellement disponible. Vous devez allouer plus d'espace de segment de mémoire pour la machine virtuelle Java.
  • L'application perd de la mémoire (techniquement, les objets, mais le résultat est le même). Vous devez engager de meilleurs programmeurs.