Описанный ниже рецепт поможет сделать эклипс более отзывчивым (у меня он стал в разы отзывчивее при большом количестве файлов!), он будет работать на 40% быстрее и даже быстрее запускаться!
Но выигрыш в скорости будет лишь, если ваша машина(компьютер) удовлетворяет таким условиям:
1) У вас должен быть многоядерный процессор(или многопроцессорный компьютер)
2) Вы должны запускать эклипс под Java 6 (я лично пользую недавно вышедший jdk1.6.0_12)
Что надо сделать:
Дописать в файл eclipse.ini (лежит в директории, куда установлен эклипс) следующие настройки:
-XX:-UseParallelGC -XX:+AggressiveOpts -XX:-UseConcMarkSweepGC
Я еще прибавил памяти на всякий случай. Сейчас мои настройки выглядят так:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512M
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx600m
-XX:-UseParallelGC -XX:+AggressiveOpts -XX:-UseConcMarkSweepGC
Как это работает:
-XX:-UseParallelGC
Этот параметр заставит сборщик мусора работать в параллельном потоке, что сильно разгрузит основной поток (вот тут то и пригодится второе ядро процессора)
XX:-UseConcMarkSweepGC
Эти настройки для сборщика мусора позволят эклипсу быть более отзывчивым.
-XX:+AggressiveOpts
Включает оптимизацию производительности компилятора..
Вобщем, какая разница, что эти настройки делают :-) Главное, что это ДЕЙСТВИТЕЛЬНО РАБОТАЕТ!!!
6 комментариев:
Как раз недавно читал в докладе http://developers.sun.ru/techdays2009/images/stories/slides/12epavlova_g1_v3.pdf про параллельный сборщик мусора. Как выйду с отпуска, обязательно попробую ваш совет! Сейчас просто увеличил Xmx до 1024. Иначе тормозит жутко.
Михаил, спасибо за фидбэк!
После прочтения той презентации, что ты указал, я еще раз взглянул на опции компилятора.
-XX:-UseParallelGC
Похоже мы наоборот выключили параллельный сборщик??!! Надо попробовать так:
-XX:+UseParallelGC
-XX:+AggressiveOpts
эта опция просто включает оптимизации производительности
А вообще, после просмотра презентации, я скачал себе jdk 1.6 update 14, чтобы проверить, насколько хорош G1. Спасибо!
Да, именно. Ты отключал эти параметры в JVM :)
Вот тут написано про то, как оформлять параметры JVM
http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp
Тут вот я нашел хорошее описание JVM-параметров, которые реально могут быть полезны:
http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html
Вроде как
java.runtime.version=1.6.0_0-b16
но при установке
-XX:+UseConcMarkSweepGC
Эклипс перестает запускаться.
А вот что у меня получилось в плане ускорения Eclipse:
http://deniso.info/?p=551
В первую очередь будет интересно пользователям linux'а.
Продублирую комментарий, который оставил в блоге Дениса для моих читателей ;-)
На самом деле, в jdk 1.6.0_14 появился новый сборщик мусора, который называется G1. Лучше использовать его. Для этого в eclipse.ini надо прописать такие строки:
-Dosgi.requiredJavaVersion=1.6
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-Xms256m
-Xmx640m
-XX:+AggressiveOpts
Отправить комментарий