Как улучшить производительность Netbeans?

Есть ли реальный способ заставить Netbeans загружаться и работать быстрее?

Это слишком медленно и ухудшается, когда вы какое-то время кодировали. Он ест всю оперативную память.


Я нахожусь на Windows-машине, в частности Windows Server 2008 Datacenter Edition x64, 4 ГБ оперативной памяти, процессор 3Ghz Core 2 Duo и т.д. Я использую x64 JDK. Я использую NOD32 Antivirus, поскольку для меня это лучший результат в работе машины.

В диспетчере задач netbeans.exe показывает только не более 20 Мбайт, java.exe более 600 МБ.

Мой проект - это веб-приложение J2EE, более 500 классов, только не включенные в него библиотеки проектов (внешние). И когда я сказал медленно, я имею в виду 3, 4, 5 минут или более Netbeans заморожен.

Мой проект слишком велик для Netbeans, если он должен прочитать все файлы, чтобы получить состояние файлов, таких как предупреждения об ошибках, статус svn и т.д.? Могу ли я отключить все это? Можно ли настроить сканирование только при открытии файла?

Мое использование процессора обычно составляет 30 процентов при открытии всех моих инструментов, я имею в виду Netbeans, MS SQL Manager, Notepad, XMLSpy, Task Manager, Delphi, VirtualBox. Netbeans потребляет больше памяти, чем мои виртуализированные системы.

В Linux это происходит так же медленно, как и в Windows на той же машине (Ubuntu 8.04 x64).

Верно, что команда Netbeans улучшила скорость запуска, но когда она открывается, она начинает кэшировать ВСЕ.

Я использовал некоторые параметры JVM для установки большого объема памяти и других: "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled

Но он все еще медленный.

Ответ 1

Очень простое решение проблемы, когда ваша среда NetBeans или Eclipse, похоже, использует слишком много памяти:

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

У меня возникла аналогичная проблема с Netbeans 7.0 на моем Linux Mint, а также в поле Ubuntu. Netbeans использовал > 700 MiB и 50-80% CPU. Затем я решил немного почистить. У меня было 30 плагинов, и я не использовал большинство из них. Итак, я отключил плагины, которые я не использовал, огромные 19 подключаемых модулей, которые я отключил. теперь память использует до 400+ MiB, а процессор использует до 10 и максимум от 50%.

Теперь моя жизнь намного проще.

Ответ 2

Не тратьте время на оптимизацию вашей установки NB, пока вы можете масштабировать вертикально: получите SSD (и более быстрое аппаратное обеспечение в целом).

также:

  • Добавьте исключение для всех соответствующих папок (например, dir проекта, temp dir) в антивирусное программное обеспечение (или, лучше, избавитесь от него).
  • Не используйте сетевые диски для своих проектов
    • проверьте, является ли ваш домашний диск локальным.
    • проверьте, использует ли среда IDE не локальные папки (например, %AppData%)

Ответ 3

  • Загрузите последние Netbeans
  • Удалите все плагины, которые вам не нужны.
  • Используйте последнюю версию Java

Ответ 4

Мы можем использовать следующую опцию JVM для ускорения загрузки/запуска NetBeans.

JVM Option: -J-Xverify:none

  • этот параметр указывает JVM не проверять байт-код во время загрузки класса и избегает предварительной загрузки ненужных классов.

Как установить:

Отредактируйте файл C:\Program Files\NetBeans <version>\etc\netbeans.conf (проверьте папку установки NetBeans, если вы установили ее в другом месте)

  • Найдите строку, в которой говорится

    netbeans_default_options = "..."

  • Добавьте опцию -J-Xverify:none в список параметров.

  • Перезапустите NetBeans.

Ответ 5

деактивировать Git, Subversion, Local History, проверку орфографии и другие неиспользуемые плагины

Ответ 6

Является ли это корпоративной машиной Windows? Если так агрессивные вирусные сканеры могут действительно замедлить работу современных IDE. Проверьте свой диспетчер задач на процессы, в которых используется большое количество CPU или дисков.

Ответ 7

Все должны заметить, что Sun Java Virtual Machine для Windows не использует разделяемую память. Это означает, что чем больше кучи вы даете своей виртуальной машине, тем больше памяти она сохраняет для себя. Преимущество большего количества кучи - это сбор мусора и, возможно, более высокая производительность приложения Java, которое вы используете, но недостатком является то, что ваши другие приложения могут иметь меньше памяти для работы, и ваша система может чувствовать себя медленнее из-за этого.

Ответ 8

Также дефрагментируйте свой диск. Netbeans очень агрессивно относится к созданию кешей той или иной формы. Большинство из них в какой-то момент сохраняются на диске, что может повлиять на время запуска. Антивирусные сканеры (в частности, Symantec), поисковые системы для настольных компьютеров и любой другой навязчивый продукт ввода-вывода могут значительно снизить производительность.

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

Ответ 9

Я использую Windows 7. Я предлагаю щелкнуть правой кнопкой мыши ярлык NetBeans, перейти в "Свойства" и на вкладке "Ярлык" в Target, добавить -J-Xmx1024m -J-Xms256m.

Это устанавливает использование памяти JVM. Xms - минимальное значение, а Xmx - max.

Это значение целевого текстового поля:

"C:\Program Files\NetBeans 7.1\bin\netbeans.exe" --jdkhome "C:\Program Files\Java\jdk1.6.0_10" -J-Dorg.netbeans.modules.php.dbgp.level=400 -J-Xmx1024m -J-Xms256m

Поскольку я добавляю этот атрибут, мои NetBeans работают так быстро!

Другой способ попробовать Подробнее здесь

В каталоге etc под вашим Netbeans-Home отредактируйте файл netbeans.conf. -Xms и -Xmx следует увеличить до значений, которые позволяют компилировать вашу программу.

в netbeans.conf:

# Note that default -Xmx and -XX:MaxPermSize are selected for you automatically.
# You can find these values in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx or
# -J-XX:MaxPermSize= here or on the command line.

Поместите значения в строку netbeans_default_options. Пример:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true  -J-Dsun.awt.disableMixing=true -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Nimbus"

Что делать, чтобы ускорить/освободить окна памяти:

  • Отключить Центр обновления Windows:

    • Откройте Диспетчер задач, откройте вкладку Службы, отключите Центр обновления Windows:

disable win update

  1. Нажмите Ctrl + R и введите Services.msc и нажмите клавишу ввода.
    • Сортировать по Startup Type
    • Выберите Службы от сторонних (не окон), которые запускают Automatic, щелкните правой кнопкой мыши, нажмите Properties и измените тип запуска на Manual

services

  • Сортировка по Status и остановке сервисов от (стороннего) приложения, которое вы считаете неиспользованным

Ответ 10

Вот мои параметры netbeans для etc/netbeans.conf, используя G1 GC и некоторые другие улучшения.

netbeans_default_options = "- J-server -J-Xss4m -J-Xms256m -J-Xmx512m -J-XX: PermSize = 256m -J-Dapple.laf.useScreenMenuBar = true -J-Dapple.awt.graphics.UseQuartz = true -J-Dsun.java2d.noddraw = true -J-Dsun.java2d.dpiaware = true -J-Dsun.zip.disableMemoryMapping = true -J-Xverify: none -J-XX: + UseG1GC -J-XX: + TieredCompilation -J-XX: + AggressiveOpts -J-Dswing.aatext = true -J-Dawt.useSystemAAFontSettings = lcd -J-Dorg.netbeans.editor.aa.extra.hints = true"

Настройки шрифта (swing.aatex и последующие) являются необязательными - устанавливаются по мере необходимости или удаляются.

Эти настройки значительно увеличивают мой netbeans!

Ответ 11

Если на корпоративной машине - убедитесь, что кеши не хранятся в сети

Ответ 12

Более или менее подробное описание, почему NetBeans, если так часто бывает замечено, можно найти в статье:

Повысить производительность NetBeans

Во-первых. проверьте, что NetBeans действительно делает на вашем диске. На Mac вы можете выполнить эту команду:

  sudo fs_usage | grep /path/to/workspace

В моем специальном случае у меня есть каталог, который больше не существует, но NetBeans все время пытается получить доступ к папке:

  14:08:05 getattrlist /path/to/workspaces/pii 0.000011 java

Повторяется много, много, много раз. Если у вас есть аналогичная проблема, исправьте ее, удалив папку кэша NetBeans:

   ~/.netbeans/6.8/var/cache

Если ваш NetBeans.app все еще делает много дискового ввода-вывода. Проверьте, имеет ли он доступ к папкам subverison и svncache.

Мне пришлось отключить функции subversion с помощью файла конфигурации:

  ~/.netbeans/VERSION/config/Preferences/org/netbeans/modules/versioning.properties 

добавить строку:

  unversionedFolders=FULL_PATH_TO_PROJECT_FOLDER  

ИСТОЧНИК: Форумы Netbeans

ИМХО это в основном связано с большим количеством дисковых операций ввода-вывода, вызванных отсутствующими файлами или папками и svncache.

Ответ 13

У меня была такая же проблема с тем, что Netbeans были настолько медленными, но теперь стало намного лучше после деактивации подключаемого модуля SVN. Думаю, это может помочь.

Удачи.

Ответ 14

Чтобы улучшить запуск и время сборки Netbeans, нужно (в этом порядке):

  • Убедитесь, что у вас достаточно свободной памяти RAM (для моей 64-разрядной системы достаточно 4 ГБ Windows)
  • Купите SSD, он делает все возможное во время запуска и времени сборки (время моего проекта увеличивается с 60 секунд до 6 секунд!)
  • Следите за антивирусным сканером, они могут значительно замедлить случайный доступ к файлам (убедитесь, что они не сканируют ваши файлы .java и .class!)
  • Купите самый быстрый процессор, который вы можете получить.

Ответ 15

Это работает для меня:

netbeans_default_options = "- J-client -J-Xverify: none -J-Xmx1024m -J-Xss2m -J-Xms256m -J-XX: PermSize = 32m -J-Dnetbeans.logger.console = true -J-ea -J-Dapple.laf.useScreenMenuBar = true -J-Dapple.awt.graphics.UseQuartz = true -J-Dsun.java2d.noddraw = true -J-Dsun.java2d.dpiaware = true -J-Dsun.zip.disableMemoryMapping = true -J-Dplugin.manager.check.updates = false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install = yes"

Настройки в etc/netbeans.conf.

Ответ 16

Действительно полезная статья о причинах, по которым ваш NetBeans работает медленно:

http://wiki.netbeans.org/FaqSlowNetBeans

Ответ 17

В последнее время я решил провести исследование, почему мой NetBeans работает медленно.

Я работаю на ПК с 16 ГБ оперативной памяти и 3,5 ГГц 8-процессорным процессором. Мое использование процессора составляет около 5-20%, объем памяти ниже 40%, но NetBeans работает медленнее, чем мой 15-летний компьютер, который я скрыл в гараже.

После нахождения этой темы и просмотра http://wiki.netbeans.org/FaqSlowNetBeans я понял, что в нижнем правом углу NetBeans я вижу панель, в которой говорится "Сканирование...", после попытки остановить ее и ничего не происходит, я смотрел дальше на то, что делал "Сканирование...", и я понял:

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

И вот, я закрыл 20 открытых проектов, а NetBeans работает так же быстро, как "Блокнот".

Ответ 18

Аналогично предложению поставить все на SSD.

Я запускаю netbeans из FreeBSD. Кэш файлы netbeans были в моем домашнем каталоге в .netbeans. Мой домашний каталог был установлен поверх nfs, поэтому доступ был очень медленным. Перемещение .netbeans на локальную машину значительно улучшило производительность. Я добавил softlink от .netbeans в моем домашнем каталоге в локальный каталог. Netbeans описывает, как изменить usedir и cachedir здесь и перечисляет это как причину по пункту 4.

До этого я мог писать целые предложения в комментариях, прежде чем gui догнал и отобразил их. После того, как текст появится по мере ввода.

Ответ 19

Самое простое решение:

Перейдите в раздел Настройки- > Редактор и Отключить: окно автоматического заполнения всплывающих окон

Используйте: Мета-ключ +\вместо этого, когда вам нужно выполнить завершение кода.

Самая большая проблема, которую я обнаружил, - это функция автоматического завершения кода. Когда я набрал, он продолжал пытаться выполнить завершение кода все время. Это вызвало очень медленную производительность, поскольку в моем проекте много библиотек, от которых это зависит.

Лучше всего то, что вы можете прекратить борьбу с редактором, поскольку он продолжает собирать ложные срабатывания во всплывающем окне завершения.

Не оглядывался назад, так как я отключил это.

Ответ 20

NetBeans 8.0.2 (PHP) имеет две проблемы: клиент SubVersion и Twig templates. Чтобы резко повысить общую производительность, а) отключите плагин "Twig Templates" (это также отключит Symphony2, если вам это может понадобиться) и b) переопределите клиента SVN с помощью этого переключателя:

run.args.extra=-J-DsvnClientAdapterFactory=commandline

^ project.properties позволяет определять аргументы CLI индивидуально (что также может иметь смысл с настройками RAM и другой настройкой). предположим, что можно снова включить Twig, когда связанный отчет об ошибке был закрыт. повторное сканирование на самом деле не является проблемой, а повторное сканирование выполняется так, как должно... своевременно.

Просто тестировал еще и заметил, что в Linux он работает более плавно с Oracle JDK, чем обычный OpenJDK, - видел, что в комплекте есть даже одна версия NetBeans.

Ответ 21

Поместите свою .netbeans Homefolder в Ramdisk и Netbeans, это будет невероятно быстро.

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

Ответ 22

Имела ту же проблему с Netbeans 7.3. * и 7.4 Beta в Windows 7. Включение и выключение некоторых плагинов, я понял, что это svn plugin, который постоянно увеличивал процессор до примерно 27%, превращая мой ноутбук в тостер. Выключите его и снова получите код:)

Ответ 23

Для Windows. Должен работать и для других ОС.

Netbeans - это как любое другое приложение Java, которое требует настройки для его JVM.

Прочтите следующую ссылку, чтобы получить некоторые результаты тестов для netbeans

https://performance.netbeans.org/reports/gc/

Следующие настройки отлично работают на моем ПК с Windows 7 с 4 ГБ оперативной памяти и четырехъядерным процессором I5.

(Проверьте строку netbeans_default_options в файле конфигурации netbeans внутри папки bin и замените строку конфигурации следующим образом)

netbeans_default_options = "- XX: TargetSurvivorRatio = 1 -Xverify: none -XX: PermSize = 100M -Xmx500m -Xms500m -XX + UseParallelGC ${netbeans_default_options}"

Небольшое предложение: сбор мусора играет важную роль в размере кучи JVM, и поскольку у меня был четырехъядерный процессор, я использовал Parallel GC. Если у вас есть один поточный процессор, используйте UseSerialGC. По моему опыту, если значения Xmx Xms одинаковы, для JVM нет накладных расходов, чтобы переключаться между значениями min и max. В моем случае, когда мой размер приложения пытается превысить 500 МБ, параллельный GC пригодится для очистки ненужного мусора, поэтому мое приложение никогда не превышает 500 МБ на моем ПК.

Ответ 24

Для меня разработана возможность автоматического сканирования источников.

Ответ 25

У меня были большие проблемы с NetBeans 8.0.2. Это старый вопрос, но, возможно, кто-то другой окажется здесь, как я, с той же проблемой, и я не нашел ответа, который помог мне где угодно.

У меня есть NetBeans 8.0.2 с плагином Ruby on Rails, в Windows 7. IDE висела до 10 секунд почти на каждом изменении, которое я делал в некоторых файлах. Это была проблема только с большими файлами, но это должно зависеть от более того, были другие большие файлы без проблемы.

Проблема была вызвана "подсказкой" "Rails 3 Deprecations", я отключил ее, и теперь она очень быстро, я могу без проблем обойти все остальное. Это под Tools -> Options -> Editor -> Hints.

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

Ответ 26

Откройте файл:

/Applications/NetBeans/NetBeans\ 8.0.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

Я добавил несколько вариантов, показанных ниже:

netbeans_default_options="-J-Dsun.java2d.opengl=true -J-Dsun.java2d.d3d=false -J-Xmx2048m ...

Использование opengl может помочь вам, в зависимости от вашей системы. Я запускаю OsX. 2048m может быть слишком много, но, похоже, не больно:-)...

Ответ 27

Попробуйте профилировать Netbeans с помощью VisualVM. Если "горячая точка" - org.gnome.accessibility.atkwrapper.emitsignal(), попробуйте запустить Netbeans с

-J-Djavax.accessibility.assistive_technologies=" "

Это помогло мне в этом.

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

Ответ 28

Убедитесь, что папка вашего проекта имеет папку, содержащую файлы вашей инфраструктуры или библиотеки (например: Laravel имеет поставщика папок) - файлы, которые вы не используете напрямую. Нажмите на свой "проект" > свойства. В левой части выберите "игнорировать папки" (я не знаю, как это делается на английском языке, но до "Frameworks" ). В правой части нажмите "добавить папку", выберите папки - это сделает ваш Netbeans 8 быстрее. Это работает для меня.