Tout d'abord, jetons un coup d'œil à la situation générale de JVM, notamment: l'utilisation de la mémoire du tas, les classes chargées, le nombre de threads et d'autres informations. Comme indiqué dans la figure ci-dessous:
Jetez ensuite un œil à l'utilisation de la mémoire de JVM vue à travers JConsole. JVM gère principalement deux types de mémoire: le tas et le non-tas. Autrement dit, le tas est la mémoire accessible au code Java, qui est réservée aux développeurs; Le non-heap est réservé à JVM pour lui-même. Toutes les zones de méthode, la mémoire requise pour le traitement interne ou l'optimisation de JVM (telles que le cache de code compilé JIT), chaque structure de classe (telle que le pool de runtime constant, les champs et les données de méthode), et le code de la méthode et du constructeur sont dans la mémoire non époustouflante. Dans JConsole, nous voyons l'état de mémoire de chaque pièce comme indiqué dans le graphique à barres vertes ci-dessous. Dans JConsole, la mémoire de tas de JVM est divisée en: Pool de mémoire d'espace Eden, pool de mémoire d'espace de survivant, pool de mémoire de génération tenuS et mémoire non héapée est divisée en: Pool de mémoire de cache de code et Perm Gen Pool Memory Pool. Comme indiqué dans la figure ci-dessous:
Enfin, utilisons JConsole pour vérifier les paramètres des paramètres de JVM, comme indiqué dans la figure ci-dessous:
Les paramètres JVM ci-dessus sont les suivants:
-Xms d'espace de tas minimum
-Xmx espace de tas maximum
-Xmn Espace de nouvelle génération
-XSS Espace de pile de fil
-Xx: permsize = xxx espace de génération permanente
-Xx: maxPerMSize = xxx espace de génération permanente maximale