Comment lire la gestion de la mémoire Java et GC Viewer

Il s'agit d'un journal lorsque j'ai enquêté sur une application qui a été tuée par OOM Killer en raison d'un manque de mémoire dans la JVM. J'ai utilisé GC Viewer pour vérifier le fichier journal GC pour voir la transition de l'utilisation de la mémoire.

Avant cela, j'ai également réorganisé les grandes lignes de la gestion de la mémoire Java, donc je l'ai décrite.

Présentation de la gestion de la mémoire Java

Pour afficher GCViewer, vous devez avoir des connaissances préalables sur la gestion de la mémoire Java.

Cet article a été très utile. Merci beaucoup. http://qiita.com/opengl-8080/items/64152ee9965441f7667b

java memory Un diagramme très grossier montrant la structure de la mémoire. Il y a deux grandes zones, la zone Heap et la zone Native. Le tas est une zone utilisée par les programmes Java, et les objets créés sur le programme sont placés dans cette zone de tas. D'autre part, la zone native est utilisée pour gérer la pile de mémoire et les threads nécessaires au fonctionnement de la JVM.

(Source: http://qiita.com/opengl-8080/items/64152ee9965441f7667b#java-%E3%81%AE%E3%83%A1%E3%83%A2%E3%83%AA%E7%AE% A1% E7% 90% 86)

De ce qui précède, vous pouvez voir qu'il y a Young (New) et Old (Tenurd) dans le tas.

Le flux de GC semble être le suivant.

Page de référence

http://qiita.com/taisho6339/items/a6a7954bd473e16706bd http://blog.pepese.com/entry/20120508/1336467306 http://www.whitemark.co.jp/tec/java/javagc.html

Sur la base de ce qui précède, essayez d'utiliser GC Viewer

https://github.com/chewiebug/GCViewer/wiki/Changelog Ce qui précède est l'URL de téléchargement de l'application.

Comment utiliser

Ouvrez simplement l'application téléchargée et faites glisser et déposez le fichier journal GC. C'était facile.

Vue

Screen Shot 2017-08-30 at 16.22.44.png

Au début, de nombreuses lignes et zones sont affichées, mais je me suis limité aux seules nécessaires dans les paramètres d'affichage. La zone affichée et la destination sont les suivantes.

--Le rose est le vieux quartier

De ce qui précède, on peut déduire que OOM Killer a fonctionné en raison d'un manque de mémoire dans la zone où les lignes noires à l'extrême droite sont denses.

prime

Il s'agit de la sortie de GC Viewer après avoir augmenté la mémoire.

Screen Shot 2017-08-30 at 19.30.06.png

C'était stable.

c'est tout.

Recommended Posts

Comment lire la gestion de la mémoire Java et GC Viewer
Comment utiliser GC Viewer
[Java] Comment sortir et écrire des fichiers!
Comment obtenir et étudier Java SE8 Gold
Comment accéder aux méthodes et champs Java Private
[Java] Comment utiliser la classe Calendar et la classe Date
<java> Lire le fichier Zip et le convertir directement en chaîne
[Java] Types de commentaires et comment les rédiger
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
[Java] Comment utiliser Map
Comment désinstaller Java 8 (Mac)
Java - Comment créer JTable
Comment utiliser java Facultatif
Comment réduire les images Java
Comment rédiger un commentaire java
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Comment utiliser Java Map
Comment définir des constantes Java
Comment utiliser les variables Java
[iOS] Comment lire Carthage
Comment convertir la base Java
[Java] Comment implémenter le multithreading
Comment initialiser un tableau Java
Comment lire votre propre fichier YAML (*****. Yml) en Java
Branchement conditionnel Java: comment créer et étudier des instructions de commutation
Différence entre Java et JavaScript (comment trouver la moyenne)
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement
Comment appeler et utiliser l'API en Java (Spring Boot)
Comment écrire et noter lors de la migration de VB vers JAVA
Comment développer et enregistrer une application Sota en Java
Différences dans la gestion des chaînes entre Java et Perl
Comment utiliser StringBurrer et Arrays.toString.
Comment étudier Java Silver SE 8
Comment utiliser HttpClient de Java (Get)
Étudier Java # 6 (Comment écrire des blocs)
Comment créer un conteneur Java
Comment désassembler un fichier de classe Java
Comment utiliser HttpClient de Java (Post)
[Java] Comment utiliser la méthode de jointure
À propos de TestSize préconisé par Google et comment réaliser TestSize par Java et Maven
Bases du développement Java ~ Comment écrire des programmes (variables et types) ~
Comment apprendre JAVA en 7 jours
Comment appeler des classes et des méthodes
[Java] Comment utiliser les modificateurs statiques (Que sont l'importation statique finale et statique)
Comment utiliser l'égalité et l'égalité (comment utiliser l'égalité)
[Traitement × Java] Comment utiliser les variables
Comment lire un fichier et le traiter comme une entrée standard
Comment connecter Heroku et Sequel
Comment décompiler un fichier de classe Java
Comment convertir LocalDate et Timestamp
[JavaFX] [Java8] Comment utiliser GridPane