Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Установка и ускорение Eclipse и Java Virtual Machine

Раздел: Software / Linux @ 22.07.2009 | Ключевые слова: eclipse jvm версия для печати

Источник: habrahabr

Eclipse — замечательная IDE. Умеет все, бесплатна, куча расширений (бесплатных в большинстве!), кроссплатформенна. Все красиво. Но даже в эту бочку меда по умолчанию вставлена ложка дегтя, особенно в Unix системах.

В основном эта ложка дегтя проявляется в виде капитальных тормозов. Даже при банальном скроле и добавлении строки — видны добротные лаги. Про автозавершение кода — я вообще молчу. Такое ощущение как будто варианты завершения PDT каждый раз качает из инета.

Попытаемся уменьшить тормоза (настройки Eclipse актуальные и для Unix`а и для для Windows — внизу статьи). Ниже описан оптимальный с моей точки зрения базовый процесс установки и базовой настройки Eclipse для Unix систем. В первую очередь для таких же как я начинающих линуксоидов. Так как начинать бывает очень сложно, но хочется…


1. Установка Eclipse — только не из репозитория!
Репозитории, как известно, предназначены для удобного автоматического обновления дистрибутиво-зависимого софта. Но Eclipse не зависит от конкретного дистрибутива (спасибо яве), а также имеет свои замечательные средства для автоматического обновления.

У меня стоит Mandriva 2009.1. В ее репозитории до сих пор лежит Eclipse 3.4.2, хотя давно вышел Eclipse 3.5 с кучей очень позитивных обновлений. Репозиторий в данном случае — лишняя прослойка, основательно увеличивающая задержки в обновлении.

Проще всего получить нужный дистриб Eclipse зайдя на сайт интересующего подпроекта Eclipse и скачать там какой-нибудь all-in-one. Меня интересует PHP Development Tools, но думаю и у остальных проектов найти нужный инсталл будет легко.

2. Установка Java SE SDK
Из-за каких-то лицензионных проблем (даже не хочется сейчас вникать :)) по дефолту в дистрибах как правило стоит OpenJDK вместо нормального Sun Java SE SDK;
OpenJDK — это попытка Sun Microsystems создать полностью совместимый Java Development Kit, состоящий исключительно из свободного и открытого исходного кода. © wikipedia

И в итоге, эта попытка весьма плохо работает с эклипсом. Внезапных вылетов нет (раньше говорят были), но тормоза конкретные. Поэтому пускай они пока пытаются, а мы не будем мучаться и поставим нормальный дистриб ява машины. Благо это делается элементарно.

  1. Сперва надо скачать последнюю версию Java SE SDK. Сейчас это 1.6.0_14 (она то и нужна!). Я выбрал самый простой бинарный дистриб, чего советую и вам. (у меня — 64 битная система и дистриб соостветствующий)
  2. Cделать в chmod +x ./jdk-6u14-linux-x64.bin (ну или как там его… ну вы поняли)
  3. ./jdk-6u14-linux-x64.bin :)
  4. Теперь идем в /usr/bin/ Там у меня была символическая ссылка на java, только с какого-то черта она была сделана через update-alternatives. Я попробовал узнать что это за зверь. Пытался почитать ман и сделать update-alternatives --set… Но как-то не пошло. Особо желания разбираться не было — просто переименовал старую ссылку и создал новую, но уже на свежий дистриб явы
    mv java java_
    ln -s /home/sword/ware/jdk1.6.0_14/bin/java /usr/bin/java
Теперь эклипс должен запускаться на новой яве. В дальнейшем лучше подписаться на обновления с сайта Sun (мир его праху), качать бинарник и запускать — по сути только распаковывать. Надеюсь.
 
3. Общее Unix && Win — настройка параметров запуска Eclipse
В папке с эклипсом лежит файлик eclipse.ini внезависимости от ОС. Там прописаны параметры виртуальной машины.

У меня там было прописано что эклипс занимается не более 128mb оперативки. С учетом того что это основной рабочий инструмент, при двух гигах оперативы на борту я готов дать ему и побольше. Прописал побольше.
384m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=512m
-Xms128m
-Xmx384m
И еще добавил пару хитрых параметров настраивающих Garbage Collector, т.е. сборщика мусора. Эти параметры по идее должны заметно ускорить работу (сколько же там мусора?!) виртуальной машины на многопроцессорной машине, коей я обладаю.
-XX:-UseParallelGC
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
Особое внимание стоит обратить на -XX:+UseConcMarkSweepGC, который стал доступен в JDK 1.6.0_14, который мы установили. В OpenJDK 1.6.0_0 стоявшем у меня в системе до этого поддержки этой опции не было.

Кому интересен вопрос — читайте маны, по идее виртуальную машину можно еще разогнать. Опций — очень много всяких разных. Можно организовать очень эффективное взаимодействие с виртуальной машиной.

Результат
Вроде как стало быстрее и комфортней. Полностью лаги не исчезли, все таки Eclipse — монстр. И за это приходится платить. Но работать стало комфортней. А еще надо определенно поразбираться с разными ключами для запуска — думаю можно без особых проблем выжать еще скорости.

Основной минус подобной оптимизации — придется Java SDK ручками обновлять. Хотя и этого можно попробовать избежать — когда выйдет OpenJDK 1.6.0_14 (а может сразу еще свежей) — можно попробовать как эклипс будет работать с ним. Для этого надо только одну символическую ссылку поправить. Если устроит работа OpenJDK — его можно и оставить. Пускай обновляется из репы.
Update Кто-нибудь, подскажите, как объективно можно измерить производительность эклипса? (в идеале — лпроизводительность интерфейса)

Кросспост с моей Личной веб-лаборатории :)

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Software / Linux


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.