Оптимизировать использование Ramdisk для разработки Eclipse - PullRequest
12 голосов
/ 03 декабря 2009

Мы разрабатываем приложения Java / SpringSource с Eclipse на 32-разрядных компьютерах Vista с 4 ГБ ОЗУ. Операционная система выделяет примерно 3,3 ГБ оперативной памяти из-за резервирования оборудования и т. Д. В виртуальном адресном пространстве. Я столкнулся с несколькими драйверами Ramdisk, которые могут создавать виртуальный диск из оперативной памяти, скрытой от операционной системы, и ищу предложения о том, как наилучшим образом использовать виртуальный диск 740 МБ для ускорения разработки в нашей среде.

Самая медленная часть разработки для нас - это компиляция, а также запуск SpringSource dm Server.

Один из вариантов - настроить Vista для переключения на Ramdisk. Это работает и заметно ускоряет разработку в ситуациях с нехваткой памяти. Тем не менее, доступных для ОС 3,3 ГБ часто бывает достаточно, и во многих ситуациях мы не используем много файлов подкачки.

Другой вариант - использовать Ramdisk в качестве места для временных файлов. Используя команду Vista mklink, я создал жесткую ссылку, из которой рабочая область SpringSource dm Server обычно находится на Ramdisk. Это значительно улучшает время запуска сервера, но никак не влияет на время компиляции. При полной загрузке рабочего каталога на Ramdisk остается примерно 500 МБ, так что места для гораздо большего.

Какие другие файлы / каталоги могут быть кандидатами для размещения на Ramdisk? Файлы, связанные с Eclipse? (Части) JDK?

Существует ли бесплатный инструмент с открытым исходным кодом для Vista, который покажет мне, какие файлы используются наиболее часто в течение определенного периода времени, чтобы уменьшить догадки?

Ответы [ 4 ]

11 голосов
/ 10 декабря 2009

Вот что я сделал

Перемещено на рамдиск:

  • JDK (удалены некоторые ненужные файлы, например, demos, src.zip)
  • Каталог плагинов Eclipse
  • Рабочий каталог SpringSource
  • Каталоги библиотек SpringSource

Существует удобный прием, позволяющий перемещать папки (или файлы в этом отношении) на виртуальный диск без единого изменения конфигурации.

  1. Скопируйте папку на рамдиск
  2. Переименовать исходную папку (я добавил -COPY в конец)
  3. Используйте команду mklink / J , чтобы создать ссылку из того места на диске, где был каталог, до того, как вы переименовали его в место, где вы скопировали его на Ramdisk

Например:

cd C:\Dev\Apps
Xcopy jdk R:\jdk\ /s
ren jdk jdk-COPY
mklink /J jdk R:\jdk

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

На компьютерах, предшествующих Vista, вы можете заменить соединение из SysInternals на mklink.

5 голосов
/ 03 декабря 2009

Вы можете попытаться переместить свое рабочее пространство Eclipse на оперативный диск. Я почти уверен, что ни javac, ни компилятор Eclipse не используют временные файлы, поэтому он идет прямо из файлов * .java в файлы * .class и копирует файлы ресурсов из исходного местоположения в целевую папку.

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

3 голосов
/ 11 августа 2013

Я использую программное обеспечение SoftPerfect RAM Disk. Я установил на него JDK, Eclipse, Maven, Gradle и Ant. Кроме того, мое рабочее пространство, мои git-репозитории для разработки и локальный репозиторий Maven (все загруженные зависимости) находятся на диске RAM. Я также создал каталог «user home» на диске RAM и изменил файл eclipse.ini, чтобы он указывал на этот новый каталог «user home». Производительность значительно улучшилась, и теперь Eclipse запускается менее чем за 10 секунд. Я задокументировал свой подход здесь:

http://www.whizu.org/articles/how-to-install-eclipse-on-a-ramdrive.whizu

0 голосов
/ 25 декабря 2010

Я не думаю, что перемещение JDK и папки плагинов на виртуальный диск является хорошим решением для этого случая, поскольку в большинстве случаев эти операции ввода-вывода не являются узким местом для затмения. Я попытался использовать ваше решение и обнаружил, что папку workspace.metadata необходимо переместить на виртуальный диск, что может помочь в скорости сборки и выполнения. И, если возможно, вам следует переместить всю папку рабочей области под виртуальный диск и использовать некоторый контроль версий, чтобы обеспечить безопасность данных. Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...