Не могу понять использование памяти Intellij IDEA и управление ею - PullRequest
2 голосов
/ 17 февраля 2012

Уже несколько лет я снова работаю с IDEA, и я счастлив до сих пор.Проблема заключается в странном поведении при использовании памяти и действиях GC, когда я работаю над проектами, что приводит к зависанию моей IDE на несколько секунд, пока GC выполняет свою работу.Независимо от того, насколько велик проект, над которым я работаю, через несколько дней использование памяти увеличивается до 500 МБ (моя куча занимает максимум 512 МБ, и на самом деле, я полагаю, этого должно быть достаточно для веб-проектов, имеющих около 100 Java).файлы).После того, как GC выполнил свою работу, я получил 400 МБ использованных - не собранных - и всего около 100 МБ свободного места в куче, и через несколько минут использование памяти увеличивает кучу снова.

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

так выглядит мое пространство кучи.Примечательно, что Old Generation и Perm Generation используют около 100% своего пространства.Но я несколько раз запускал GC вручную.Вопрос в том, как я могу получить IDE для очистки этих объектов в старом поколении без запуска IDE?(После запуска использование памяти составляет около 60–90 МБ). Как я могу узнать, что это такое?Есть некоторые потоки, которые можно наблюдать в VisualVM, такие как RMI TCP Connection, RMI TCP Accept, XML RPC Weblistener и т. Д., Хотя я ничего не делаю в IDE, и они по-прежнему потребляют память, даже 5-10 МБ / с.

$ 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)

ОБНОВЛЕНИЕ: конфигурация памяти: -Xms256m -Xmx512m -Xmn170m -XX: MaxPermSize = 300 м

Ответы [ 3 ]

7 голосов
/ 20 февраля 2012
2 голосов
/ 17 февраля 2012

Правильный путь - получить снимок памяти и отправить соответствующий билет в трекер JetBrains с прикрепленным снимком.

0 голосов
/ 02 апреля 2019

Чрезмерное использование памяти сохраняется и по сей день, 2 апреля 2019. По умолчанию IntelliJ IDEA Ultimate Edition имеет 131 подключаемый модуль, включенный по умолчанию.

Я отключил около 50 из этих плагинов.

Перейдите в Файл >> Настройки >> Плагины для управления плагинами. Затем нажмите Установлено для просмотра уже активных плагинов.

...