Как увеличить предел памяти IDE в IntelliJ IDEA на Mac?

316

Я использую IDEA 12 Leda на Mountain Lion. Я хотел увеличить максимальную память, которую может использовать IDE. Я установил VMOptions в файле Info.plist, чтобы -Xmx2048m -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar

Когда я открываю IDEA, я все еще вижу максимальный объем памяти 711м.

jps -v показывает, что мои VMOptions были загружены, но заменены следующими параметрами.

29388  **-Xmx2048m** -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Xms128m **-Xmx800m** -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseCompressedOops -Didea.paths.selector=IdeaIC12 -Dsun.java2d.noddraw=true -Didea.max.intellisense.filesize=2500 -Didea.dynamic.classpath=false -Didea.jars.nocopy=false -Dsun.java2d.d3d=false -Dapple.awt.fullscreencapturealldisplays=false -Dapple.laf.useScreenMenuBar=true -Djava.endorsed.dirs= -Dswing.bufferPerWindow=false -Didea.fatal.error.notification=enabled -Didea.cycle.buffer.size=1024 -Didea.popup.weight=heavy -Didea.xdebug.key=-Xdebug -Dapple.awt.graphics.UseQuartz=true -Dsun.java2d.pmoffscreen=false -Didea.no.launcher=false -DCVS_PASSFILE=~/.cvspass -Didea.use.default.antialiasing.in.editor=false -Dcom.apple.mrj.application.live-resize=false -Didea.smooth.progress=false
29392 Jps -Dapplication.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home -Xms8m

Откуда -Xmx800берутся? Мне нужно удалить это.

woodings
источник
4
только отметить , что для 64-битых потребностей в имени файла , чтобы быть idea64.vmoptions
Еффий
@Ittai for me idea.vmoptions работает и на 64-разрядных системах Mac OS 10.9
Корай Тугай,
В OS X 10.10.3 с IntelliJ 14 мне пришлось переименовать ~/Library/Preferences/IdeaIC14/idea.vmoptionsего, idea64.vmoptionsпрежде чем он распознает изменение, т -Xmx2048m. Е.
В OS X 10.11 Intellij 15 64-bit мне пришлось переименовать idea64.vmoptions в idea.vmoptions, чтобы он работал.
Химаншу Шекхар
Смотрите также расследование опционов IDEA на tomaszdziurko.com/2015/11/…
Григорий Кислин

Ответы:

577

Текущая версия: Help| Change Memory Settings:

Изменить настройки памяти

Начиная с IntelliJ IDEA 15.0.4 вы также можете использовать: Help| Edit Custom VM Options...:

Это автоматически создаст копию .vmoptionsфайла в папке config и откроет диалоговое окно для его редактирования.


Старые версии:

IntelliJ IDEA 12 является подписанным приложением, поэтому изменение параметров в Info.plistбольше не рекомендуется, так как подпись не будет совпадать, и у вас возникнут проблемы в зависимости от настроек безопасности вашей системы (приложение не будет работать, или брандмауэр будет жаловаться при каждом запуске, или приложение не сможет использовать системное хранилище ключей для сохранения паролей).

В результате обращения к IDEA-94050 в IDEA 12 был представлен новый способ предоставления опций JVM:

Теперь он может принимать параметры виртуальной машины ~/Library/Preferences/<appFolder>/idea.vmoptionsи системные свойства ~/Library/Preferences/<appFolder>/idea.properties.

Например, чтобы использовать опцию -Xmx2048m , скопируйте исходный .vmoptionsфайл из /Applications/IntelliJ IDEA.app/bin/idea.vmoptionsв ~/Library/Preferences/IntelliJIdea12/idea.vmoptions, а затем измените -Xmxнастройку.

Конечный файл должен выглядеть так:

-Xms128m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Копирование исходного файла важно, так как параметры не добавляются , они заменяются .

Таким образом, ваши пользовательские параметры будут сохранены между обновлениями, а файлы приложений останутся неизменными, что сделает проверку подписи счастливой.


Community Edition : ~/Library/Preferences/IdeaIC12/idea.vmoptionsфайл используется вместо.

CrazyCoder
источник
7
этот файл работал для меня: /Users/<user>/Library/Preferences/IdeaIC12/idea.vmoptions
PaulG
1
Ни / Приложения ..., ни ~ / Библиотека ... у меня не работает (все еще пытаюсь) - я все еще на Snow Leopard, если это имеет значение.
mparaz
7
В Mac OS X 10.8.3 и IntelliJ IDEA Ultimate 12.1.4 правильная команда была $ cp -i /Applications/IntelliJ\ IDEA\ 12.app/bin/idea.vmoptions ~/Library/Preferences/IntelliJIdea12/. Это соответствует последним документам по настройке IDEA по адресу jetbrains.com/idea/webhelp/increasing-memory-heap.html, как упомянуто michael-m.
Майкл Дж. Нолл
6
cp /Applications/IntelliJ\ IDEA\ 13.app/bin/idea.vmoptions ~/Library/Preferences/IntelliJIdea13/idea.propertiesа затемvi ~/Library/Preferences/IntelliJIdea13/idea.properties
Дариус М.
2
Если вы используете OSX и используете PHPStorm, вы можете скопировать его в ~ / Library / Preferences / WebIde80 / idea.properties (используйте WebIde70, если вы используете phpstorm 7)
Mixologic
104

Полезный трюк, я думал, что поделюсь этим старым потоком.

Вы можете увидеть, сколько памяти используется, и настроить все соответствующим образом, используя Show memory indicatorнастройки.

введите описание изображения здесь

Это появляется в правом нижнем углу окна.

введите описание изображения здесь

TrophyGeek
источник
9
Убедитесь, что у вас включен ViewStatus Bar.
TrophyGeek
Вау, вы используете -Xmx = 8G?
Кедар Мхасвейд
Есть ли способ, чтобы это показывало использование памяти приложением, которое вы запускаете из IntelliJ, а не использование памяти IDE?
OscarVanL
14

Для IDEA 13 и OS X 10.9 Mavericks правильные пути:

Оригинал: / Applications / IntelliJ IDEA 13.app/Contents/bin/idea.vmoptions

Копировать в: ~ / Библиотека / Предпочтения / IntelliJIdea13 / idea.vmoptions

ujay68
источник
У меня нет папки IntelliJIdea13 внутри ~ / Library / Preferences. Пытался создать его и поместить файл внутрь, но не повезло. Любые другие советы?
Тьяго
11

Вот ссылка на последнюю документацию на сегодня http://www.jetbrains.com/idea/webhelp/increasing-memory-heap.html

MikeM
источник
Это касается только увеличения кучи для компилятора, а не для IDE.
Зайенц
3
@Zayenz :: Ложь. Речь идет не только об увеличении кучи для процесса сборки, но также включает информацию для ответа на вопрос - то есть в разделе «Примечания» говорится… The memory heap available to IntelliJ IDEA may be changed by editing the corresponding VM options. Depending on the platform, these files are:..... - TLDR для тебя?
MikeM
1
@ michael-m Извините. Я прочитал, но как-то пропустил эту заметку. Спасибо, что поправили меня.
Zayenz
5

Что касается версии intellij2018, я использую следующую конфигурацию для лучшей производительности

-server
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=512m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:-TraceClassUnloading
-XX:+TieredCompilation
-XX:SoftRefLRUPolicyMSPerMB=100
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none

-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
Авишек Бхаттачарья
источник
Спасибо Avishek .. Конечно, попробую этот конфиг на intellij IDEA 2018
gaurav
4

перейдите по этому пути "C: \ Program Files (x86) \ JetBrains \ IntelliJ IDEA 12.1.4 \ bin \ idea.exe.vmoptions" и измените размер на -Xmx512m

  -Xms128m
  -Xmx512m
  -XX:MaxPermSize=250m
  -XX:ReservedCodeCacheSize=64m
  -XX:+UseCodeCacheFlushing
  -ea
  -Dsun.io.useCanonCaches=false
  -Djava.net.preferIPv4Stack=true

надеюсь, что это будет работать

rinkesh
источник
8
Это верно для Windows, но не для OSX, о чем идет речь.
cdeszaq
1
нашел, и это помогло мне в окнах! Спасибо!
WebComer
3

OSX 10.9, если вы не беспокоитесь о подписанном приложении, вы можете просто изменить

/Applications/IntelliJ\ IDEA\ 12\ CE.app/bin/idea.vmoptions
Raul
источник
2

Похоже, IDEA решает это для вас (как и все остальное). При загрузке большого проекта и его трогании, он откроет диалоговое окно, чтобы увеличить настройки памяти. Введите 2048 для Xmx и нажмите «Завершение работы», а затем перезапустите IDEA, чтобы программа IDEA запустилась с большим объемом памяти. Похоже, что это хорошо работает для Mac OS, хотя для меня это никогда не сохраняется в Windows (не уверен насчет IDEA 12).

Майкл Буш
источник
1

На моей машине это работает только при bin/idea.vmoptionsдобавлении параметра в ~/Library/Preferences/IntelliJIdea12/idea.vmoptionsвызывает зависание IDEA во время запуска.

Zack
источник
Пожалуйста, смотрите мой обновленный ответ. Обратите внимание, что idea.vmoptionsв Preferencesне добавляет параметры, он заменяет их. Поэтому вам необходимо скопировать исходный файл из binкаталога, а затем изменить его.
CrazyCoder
1

Более поздние версии IntelliJ (конечно, WebStorm и PhpStorm) сделали это изменение еще проще, добавив Help >> Change Memory Settingsпункт меню, который открывает диалоговое окно, в котором можно установить предел памяти.

пункт меню, чтобы показать ограничение памяти диалог настроек памяти

Сок жука
источник