2 votes

Impossible de comprendre l'utilisation et la gestion de la mémoire d'Intellij IDEA

Depuis quelques années, je développe à nouveau avec IDEA, et je suis satisfait jusqu'à présent. Le problème est juste un comportement bizarre de l'utilisation de la mémoire et de l'action de GC pendant que je travaille sur des projets, ce qui fait que mon IDE se bloque pendant quelques secondes pendant que GC fait son travail. Quelle que soit la taille du projet sur lequel je travaille, après quelques jours, l'utilisation de la mémoire augmente jusqu'à 500 Mo (mon espace de stockage maximal est de 512 Mo et, en fait, je suppose que cela doit être suffisant pour les projets Web qui ont environ 100 fichiers java). Après que GC ait fait son travail, j'ai 400 Mo utilisés - non collectés - et seulement environ 100 Mo libres sur le tas et en quelques minutes, l'utilisation de la mémoire augmente et le tas est à nouveau plein.

JVM version is 19.0-b09

using thread-local object allocation.
Parallel GC with 2 thread(s)

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 536870912 (512.0MB)
   NewSize          = 178257920 (170.0MB)
   MaxNewSize       = 178257920 (170.0MB)
   OldSize          = 4194304 (4.0MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 16777216 (16.0MB)
   MaxPermSize      = 314572800 (300.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 145489920 (138.75MB)
   used     = 81242600 (77.4789810180664MB)
   free     = 64247320 (61.271018981933594MB)
   55.84070704004786% used
From Space:
   capacity = 16384000 (15.625MB)
   used     = 0 (0.0MB)
   free     = 16384000 (15.625MB)
   0.0% used
To Space:
   capacity = 16384000 (15.625MB)
   used     = 0 (0.0MB)
   free     = 16384000 (15.625MB)
   0.0% used
PS Old Generation
   capacity = 358612992 (342.0MB)
   used     = 358612992 (342.0MB)
   free     = 0 (0.0MB)
   100.0% used
PS Perm Generation
   capacity = 172621824 (164.625MB)
   used     = 172385280 (164.3994140625MB)
   free     = 236544 (0.2255859375MB)
   99.86296981776765% used

c'est comme ça que mon espace de tas semble. Il est remarquable que l'ancienne génération et la génération Perm utilisent environ 100% de leur espace. Mais j'ai déclenché GC manuellement plusieurs fois. La question est la suivante : comment puis-je faire en sorte que l'IDE balaye ces objets dans l'ancienne génération sans démarrer l'IDE ? (Après le démarrage, l'utilisation de la mémoire est d'environ 60MB -90 MB) comment puis-je trouver ce qu'ils sont ? Il y a quelques threads en cours d'exécution qui peuvent être observés dans VisualVM comme RMI TCP Connection, RMI TCP Accept, XML RPC Weblistener et ainsi de suite, bien que je ne fasse rien sur l'IDE et ils consomment toujours de la mémoire même 5-10 MBs par seconde.

$ uname -a
Linux bagdemir 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10 21:21:01 UTC 2011 i686 GNU/Linux

$ java --version 
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)

MISE À JOUR : configuration de la mémoire : -Xms256m -Xmx512m -Xmn170m -XX:MaxPermSize=300m

7voto

William Scott Points 1083

2voto

denis.zhdanov Points 1669

La meilleure façon de procéder est d'obtenir un instantané de la mémoire et soumettez le ticket correspondant au tracker JetBrains avec la capture d'écran jointe.

0voto

Randall Coding Points 357

L'utilisation excessive de la mémoire persiste encore aujourd'hui, le 2 avril 2019. Par défaut, 131 plugins sont activés dans IntelliJ IDEA Ultimate Edition.

J'ai désactivé une cinquantaine de ces plugins.

Ir a Fichier >> Paramètres >> Plugins pour gérer les plugins. Cliquez ensuite sur Installé pour voir les plugins déjà actifs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X