Я использую intelliJ для разработки на Scala и на прошлой неделе получил 8 ГБ новой оперативной памяти, поэтому подумал: пора ее использовать. Я проверил свой диспетчер задач и нашел intelliJ, использующий ~ 250 МБ . Из eclipse я знал, что настройка параметров JVM очень помогает повысить скорость, поэтому я погуглил ...
и нашел это для OS X. Я не смог сразу найти вариант JVM, поэтому начал настраивать Xmx. На 1 Гб понял, что больше не запускается. Я проверил версию intelliJ java, обнаружил, что она устарела и 32-битная.
Итак, чтобы использовать текущий JDK и 64-разрядную версию, вам нужно изменить свою ссылку на from:
IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe
к
IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT
и настройте "Начать через"
Летучая мышь JDK_HOME
теперь ищет и использует 64-битную версию.
Мои текущие параметры виртуальной машины , которые находятся в
...\IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe.vmoptions
находятся
-Xms512m
-Xmx1024m
-XX:MaxPermSize=512m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
Вместо -XX:+UseParallelGC
, вы можете использовать -XX:+UseConcMarkSweepGC
, что
принятый выбор для настольных приложений, но недавно я перешел на сборщик пропускной способности. потому что с быстрой машиной и достаточно маленькой кучей у вас есть быстрые паузы, большая пропускная способность и нет проблем с фрагментацией (ijuma. #scala)
Изменения:
-XX:+UseConcMarkSweepGC //removed
// removed, because not needed with the lastest JVM.
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
Я пока буду придерживаться этих вариантов. Я действительно хотел бы узнать ваш опыт работы с ним.
Какие варианты подходят вам лучше всего? Как мне скрыть это окно cmd при запуске intelliJ через .bat
? :)
Кстати, вот еще одна ссылка для настройки intelliJ . В основном на стр. 20/21 говорится об отключении восстановления Windows и антивируса для системных каталогов.
Другой способ ускорить работу intelliJ - поместить системную папку intellij на ramdrive (спасибо OlegYch | h).
from idea.properties
idea.system.path=${idea.home}/.IntelliJIdea/system
См. Superuser для Win 7 64bit RAM Drive или этот . 1 ГБ мне кажется вполне подходящим.
Еще один совет, который мне дал друг, - исключить каталоги проектов из вашего антивируса (сканировать при доступе)
По поводу настройки Eclipse есть похожие сообщения:
источник
idea64.exe.vmoptions
Ответы:
Эта комбинация отлично работает на моем Intellij13, работающем в Mavericks:
Обновлено 18 июля 2017 г . :
# custom IntelliJ IDEA VM options -ea -server -Xms2G -Xmx4096M -Xss2m -XX:MaxMetaspaceSize=2G -XX:ReservedCodeCacheSize=1G -XX:MetaspaceSize=512m -XX:+UseConcMarkSweepGC -XX:+DoEscapeAnalysis -XX:SoftRefLRUPolicyMSPerMB=50 -XX:+UnlockExperimentalVMOptions -Djava.net.preferIPv4Stack=true -Dsun.io.useCanonCaches=false -XX:LargePageSizeInBytes=256m -XX:+UseCodeCacheFlushing -XX:ParallelGCThreads=8 -XX:+DisableExplicitGC -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintFlagsFinal -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseAdaptiveGCBoundary -XX:+UseSplitVerifier -XX:CompileThreshold=10000 -XX:+OptimizeStringConcat -XX:+UseStringCache -XX:+UseFastAccessorMethods -XX:+UnlockDiagnosticVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -XX:-OmitStackTraceInFastThrow -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
Я обновляю этот параметр на https://github.com/adben/config/blob/master/idea64.vmoptions
источник
-XX:+UseCompressedStrings
, из всего в вашем списке, это сломало меня, остальное сработало.MaxMetaspaceSize
,MetaspaceSize
,UseCompressedStrings
потому что они не поддерживаются в IJ 14 на Linux x86_64.UseCompressedOops
У меня тоже не работает. Подсказка: запустите IJ из командной строки, чтобы увидеть сообщения об ошибках, в Linux этоidea.sh
Для меня переход на SSD-накопитель сильно улучшил производительность (особенно для крупных проектов).
источник
Некоторое время назад я искал способы ускорить компиляцию моего проекта и вот результат. Это не для самой IntelliJ IDEA, но очень поможет при (пере) создании больших проектов, и, я думаю, он будет работать и с любыми другими IDE. Также я описал подход Linux, но я уверен, что в Windows есть собственные реализации RAM-диска.
Самый простой способ ускорить компиляцию - переместить выходные данные компиляции на RAM-диск.
Настройка RAM-диска
Открыть fstab
(вместо этого
gedit
можно использоватьvi
или что угодно)Настроить точку монтирования RAM-диска
Я использую RAM-диски в нескольких местах в моей системе, и одно из них используется
/tmp
, поэтому я просто помещаю туда свои результаты компиляции:tmpfs /var/tmp tmpfs defaults 0 0
В этом случае размер вашей файловой системы не будет ограничен, но это нормально, мой
/tmp
размер сейчас составляет 73 МБ. Но если вы боитесь, что размер RAM-диска станет слишком большим - вы можете ограничить его размер, например:tmpfs /var/tmp tmpfs defaults,size=512M 0 0
Настройка проекта
В IntelliJ IDEA откройте структуру проекта (
Ctrl+Alt+Shift+S
по умолчанию), затем перейдите в Project - 'Project compiler output' и переместите его в точку монтирования RAM-диска:(Я добавил
projectName
папку, чтобы ее было легко найти, если мне нужно туда попасть или я буду работать с несколькими проектами одновременно)Затем перейдите в «Модули» и во всех своих модулях перейдите в «Пути» и выберите «Наследовать путь вывода компиляции проекта» или, если вы хотите использовать собственный путь вывода компиляции, измените «Путь вывода» и «Путь вывода теста», как вы это делали. это для проецирования вывода компилятора раньше.
Вот и все, ребята!
PS Несколько цифр: время компиляции моего текущего проекта в разных случаях (примерно):
HDD: 80s SSD: 30s SSD+RAM: 20s
PPS Если вы используете SSD-диск, то помимо ускорения компиляции вы сократите количество операций записи на ваш диск, что также поможет вашему SSD жить долго и счастливо;)
источник
caches
иindex
папку с помощью символической ссылки на RAM диск, кэш IDEA Intellij в RAM Drive предлагает другой способ сделать это без символических ссылок, однако это потребовало бы больший RAM диска , потому что вы не можете указать только кэша и индексные папки , которые путь. Излишне говорить, что теперь любой поиск / поиск / щелчок по символу происходит мгновенно или почти мгновенноЧто касается:
Используйте команду start и javaw.exe вместе, поэтому, если у вас есть:
SET JAVA_EXE=%IDEA_JDK%\jre\bin\java.exe ... "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*
измените его на:
SET JAVA_EXE=%IDEA_JDK%\jre\bin\javaw.exe ... start "Intellij IDEA" /b "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*
источник
Самое полезное, что вы можете сделать для IntelliJ, - это иметь много свободной памяти для кэширования диска. . IntelliJ сохраняет большую часть своей обработки в кешированных файлах. Это хорошо работает, если у вас много свободной памяти, но если ваш дисковый кеш ограничен, вы будете видеть регулярные длительные паузы.
Я бы предложил,
-XX:+UseConcMarkSweepGC
а неG1
.Я также работаю с локальными копиями файлов, чтобы минимизировать задержку доступа к файлам.
Кстати : для проекта, над которым я работаю, я заметил разницу между работой на машине с 24 ГБ и на машине с 48 ГБ, даже если максимальная куча установлена на 2 ГБ;)
источник
Я поэкспериментировал и обнаружил, что для уменьшения пауз сборщика мусора лучше всего работает следующая комбинация:
-XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50
.Я бы тоже не стал делать кучу слишком большой, 512 или даже меньше мне подходят. В противном случае, когда он заполнится, сборщику мусора придется все это пройти, что займет некоторое время.
источник
Здесь вы можете найти полезные советы. Например, скорость переключения с IDEA на другое приложение и наоборот была значительно улучшена после отключения функции «Отключить синхронизацию файлов».
http://hamletdarcy.blogspot.com/2008/02/10-tips-to-increase-intellij-idea.html
источник
Не уверен, почему это еще не было упомянуто - вы можете включить
Power Save mode
, что отключает многие фоновые действия IJ , в том числеFiles Synchronization
. В некоторых статьях говорится, что можно отключить синхронизацию файлов в параметрах структуры проекта (например, в статье в ответе @ OJ278), но мне не удалось найти эту опцию в IJ 14 , ноPower Save mode
похоже, отключил ее.У меня довольно большая кодовая база ( исходный код AOSP ), поэтому активность HD из-за синхронизации фоновых файлов раздражает ...
источник
Вы можете использовать плагин оптимизатора intellij:
https://zeroturnaround.com/free/optimizer-for-intellij-idea/
С помощью плагина вы можете:
источник
Ответ, предоставленный,
adben
очень полезен для повышения производительности моей машины. Хотя я немного переопределил его после прочтения статьи Dzone,-server -Xms2g -Xmx2g -XX:NewRatio=3 -Xss16m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:ConcGCThreads=4 -XX:ReservedCodeCacheSize=240m -XX:+AlwaysPreTouch -XX:+TieredCompilation -XX:+UseCompressedOops -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djsse.enableSNIExtension=false -ea
Они улучшили производительность больших проектов за счет использования вышеуказанной конфигурации и безупречно работают и с нашими проектами. Наконец, я отключил все плагины, которые не буду использовать, и это тоже улучшило ситуацию.
Ссылка: https://dzone.com/articles/the-one-and-only-reason-to-customize-intellij-idea
источник
Я использовал эту комбинацию, и она отлично работает в моей среде
-server -Xms2048m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=8 -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:ReservedCodeCacheSize=64m -XX:-TraceClassUnloading -ea -Dsun.io.useCanonCaches=false
источник
-XX:+UseParNewGC
последние версии CLion. Неверный вариант.Сделал небольшую запись по этой теме на носителе: https://medium.com/@sergio.igwt/boosting-performance-of-intellij-idea-and-the-rest-of-jetbrains-ides-cd34952bb978
источник