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

<p>есть ли реальный способ заставить netbeans загружаться и работать быстрее?</p><p>это слишком медленно и усугубляется, когда вы некоторое время программировали. съедает всю мою оперативную память.</p><hr><p>я использую windows, в частности windows server 2008 datacenter edition x64, 4 гб оперативной памяти, процессор 3 ггц core 2 duo и т.д. я использую x64 jdk. я использую nod32 antivirus, так как для меня это лучшая производительность машины.</p><p>в диспетчере задач netbeans.exe показывает только не более 20 мб, java.exe более 600 мб.</p><p>мой проект представляет собой веб-приложение j2ee, более 500 классов, только библиотеки проектов не включены (внешние). и когда я сказал «медленно», я имею в виду, что netbeans на 3, 4, 5 или более минут заморожен.</p><p>является ли мой проект слишком большим для netbeans, если он должен прочитать все файлы, чтобы получить состояние файлов, таких как предупреждения об ошибках, статус svn и многое другое? могу ли я отключить все это? можно ли настроить его на сканирование только при открытии файла?</p><p>обычно загрузка моего процессора составляет 30 процентов при всех открытых инструментах, я имею в виду netbeans, ms sql manager, notepad, xmlspy, task manager, delphi, virtualbox. netbeans ест больше ram, чем мои виртуализированные системы.</p><p>в linux это так же медленно, как в windows на той же машине (ubuntu 8.04 x64).</p><p>это правда, что команда netbeans улучшила скорость запуска, но когда она открывается, она начинает кэшировать все. </p><p>я использовал некоторые параметры jvm для установки высокого использования памяти и другие: <code>"c:\program files\netbeans dev\bin\netbeans.exe" -j-xms32m -j-xmx512m -j-xverify:none -j-xx:+cmsclassunloadingenabled</code></p><p>но это все еще медленно.</p>

<p>очень простое решение проблемы, когда ваш<strong> netbeans </strong>или<strong> eclipse </strong>ide, похоже, использует слишком много памяти:</p><ol> <li><strong> отключить плагины, которые вы не используете. </strong></li> <li><strong> закрыть проекты, над которыми вы не работаете. </strong></li> </ol><p>я сталкивался с подобной проблемой с netbeans 7.0 на моем linux mint, а также на ubuntu box. netbeans использовал> 700 мб пространства и 50-80% цп . тогда я решил сделать некоторую очистку . у меня было установлено 30 плагинов, и я не использовал большинство из них. итак, я отключил плагины, которые я не использовал, колоссальные 19 плагинов я отключил. теперь память использует до 400+ мб, а процессор - до 10 и максимум до 50%.</p><p>теперь моя жизнь намного проще.</p>

<p>не тратьте время на оптимизацию установки nb до тех пор, пока вы можете масштабировать по вертикали: получите ssd (и вообще более быстрое оборудование).</p><p>также:</p><ul> <li>добавьте исключение для всех соответствующих папок (например, project dir, temp dir) в свое антивирусное программное обеспечение (или, лучше, избавьтесь от него). </li> <li>не используйте сетевые диски для своих проектов <ul> <li>проверьте, является ли ваш домашний диск местным</li> <li>проверьте, использует ли ide нелокальные папки (например, <code>%appdata%</code>)</li> </ul></li> </ul>

<ul> <li>загрузите последние netbeans</li> <li>удалите все плагины, которые вам не нужны.</li> <li>используйте последнюю версию java</li> </ul>

<p>мы можем использовать следующую опцию jvm для ускорения загрузки/запуска netbeans.</p><p>опция jvm: <code>-j-xverify:none</code></p><ul> <li>эта опция говорит jvm не проверять байт-код во время загрузки класса и избегает предварительной загрузки ненужных классов.</li> </ul><p><strong> как установить: </strong></p><p>отредактируйте файл <code>c:\program files\netbeans <version>\etc\netbeans.conf</code> (проверьте папку установки netbeans, если вы установили ее в другом месте)</p><ul> <li><p>найдите строку, которая говорит </p> <p>netbeans\_default\_options = "..."</p></li> <li><p>добавьте опцию <code>-j-xverify:none</code> в список опций.</p></li> <li><p>перезапустите netbeans.</p></li> </ul>

<p>деактивировать git, subversion, local history, проверку орфографии и другие неиспользуемые плагины </p>

<p>это корпоративная машина windows? в таком случае агрессивные антивирусные сканеры могут реально замедлить работу современных ide. проверьте в диспетчере задач процессы, которые используют много операций чтения с цп или с диска.</p>

<p>каждый должен помнить, что виртуальная машина sun sun для windows не использует общую память. это означает, что чем больше кучи вы отдаете своей виртуальной машине, тем больше памяти она хранит для себя. преимущество большей кучи - это меньшая сборка мусора и, возможно, более высокая производительность выполняемого java-приложения, но недостатком является то, что у других приложений может быть меньше памяти для работы, и ваша система может работать медленнее из-за этого.</p>

<p>я использую windows 7. я предлагаю щелкнуть правой кнопкой мыши ярлык netbeans, перейти в "свойства" и на вкладке "ярлык" в разделе "цель" добавить <code>-j-xmx1024m -j-xms256m</code>.</p><p>это устанавливает использование памяти jvm. xms - минимальное значение, а xmx - макс.</p><p>это значение целевого текстового поля:</p><pre><code>"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 </code></pre><p>поскольку я добавляю этот атрибут, мои netbeans работают так быстро!</p><p> <a href="https://stackoverflow.com/a/18992956"><strong> еще один способ попробовать подробнее здесь </strong></a> </p><p>в каталоге <code>etc</code> в вашем <code>netbeans-home</code> отредактируйте файл <code>netbeans.conf</code>. <code>-xms</code> и <code>-xmx</code> <strong> должны быть увеличены </strong> до значений, позволяющих вашей программе компилироваться.</p><p>инструкции в <strong> netbeans.conf </strong>:</p><pre><code># 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. </code></pre><p>поместите значения в строку <strong> netbeans\_default\_options </strong>. пример :</p><pre><code>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" </code></pre><p><strong> что нужно сделать, чтобы ускорить/освободить окна памяти: </strong></p><ol> <li> <p>отключить центр обновления windows:</p> <ul> <li>откройте диспетчер задач, откройте вкладку "службы", отключите центр обновления windows:</li> </ul> </li> </ol><p> <a href="https://i.stack.imgur.com/zugbp.jpg"><img src="https://i.stack.imgur.com/zugbp.jpg" alt="disable win update"></a> </p><ol start="2"> <li>удар <kbd>ctrl</kbd> + <kbd>r</kbd> и введите <code>services.msc</code> и нажмите ввод. <ul> <li>сортировать по <code>startup type</code></li> <li>выберите службы от стороннего производителя (не windows), которые запускают <code>automatic</code>, щелкните правой кнопкой мыши, щелкните <code>properties</code> и измените тип запуска на <code>manual</code></li> </ul> </li> </ol><p> <a href="https://i.stack.imgur.com/uwyjp.jpg"><img src="https://i.stack.imgur.com/uwyjp.jpg" alt="services"></a> </p><ul> <li>сортировка по <code>status</code> и остановке служб из (стороннего) приложения, которое вы считаете неиспользованным</li> </ul>

<p>также дефрагментируйте свой диск. netbeans очень агрессивно относится к созданию кешей той или иной формы. большинство из них сохраняются на диске в тот или иной момент, что может повлиять на время запуска. сканеры вирусов (в частности, symantec), поисковые системы для настольных компьютеров и любые другие продукты ввода-вывода могут значительно снизить производительность.</p><p>я заметил, что netbeans иногда может быть временным, и его производительность может сильно различаться на двух машинах с почти одинаковыми характеристиками. моя рабочая машина имеет ужасную производительность и иногда непригодна для использования, но она работает молниеносно, когда я использую ее на своей домашней машине (во многих случаях это большие проекты). </p>

<p>вот мои параметры netbeans для <code>etc/netbeans.conf</code> с использованием<strong> g1 gc </strong>и некоторые другие улучшения.</p><blockquote> <p>netbeans\_default\_options = "- j-сервер -j-xss4m -j-xms256m -j-xmx512m -j-xx: permsize = 256 м -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: нет -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 "</p> </blockquote><p>настройки шрифта (<code>swing.aatex</code> и последующие) являются необязательными - установите их по необходимости или удалите.</p><p>эти настройки сильно улучшают мои netbeans!</p>

<p>чтобы улучшить время запуска и сборки netbeans, нужно (в следующем порядке):</p><ol> <li>убедитесь, что у вас достаточно свободной<strong>ram</strong>памяти (на моей 64-битной системе достаточно 4 гб windows)</li> <li>купите<strong>ssd</strong>, это имеет значение во времени запуска и времени сборки (время сборки моего проекта варьируется от 60 до 6 секунд!)</li> <li>не упустите<strong> вирусный сканер </strong>, они могут значительно замедлить произвольный доступ к файлам (убедитесь, что они не сканируют ваши файлы .java и .class!)</li> <li>купите самый быстрый<strong> процессор </strong>вы можете получить в свои руки.</li> </ol>

<p>более или менее подробное описание того, почему netbeans так медленно работает, можно найти в статье:</p><blockquote> <h3> <a href="http://web.archive.org/web/20110323111257/http://phundament.com/en\_us/blog?postid=35&postname=boost-your-netbeans-performance">повысьте производительность netbeans</a> </h3> <p>первый. проверьте, что на самом деле делает netbeans на вашем диске. на mac вы можете выполнить эту команду:</p> <pre><code> sudo fs\_usage | grep /path/to/workspace </code></pre> <p>в моем особом случае я получил каталог, который больше не существует, но netbeans пытается получить доступ к папке все время:</p> <pre><code> 14:08:05 getattrlist /path/to/workspaces/pii 0.000011 java </code></pre> <p>повторяется много, много, много раз. если у вас есть похожая проблема, исправьте ее, удалив папку кеша netbeans здесь:</p> <pre><code> ~/.netbeans/6.8/var/cache </code></pre> <p>если ваш netbeans.app по-прежнему делает много дискового ввода-вывода. проверьте, имеет ли он доступ к папкам subverison и svncache.</p> <p>мне пришлось отключить функции subversion с помощью файла конфигурации:</p> <pre><code> ~/.netbeans/version/config/preferences/org/netbeans/modules/versioning.properties </code></pre> <p>добавить строку:</p> <pre><code> unversionedfolders=full\_path\_to\_project\_folder </code></pre> <p>источник: <a href="http://forums.netbeans.org/post-42506.html">netbeans форумы</a> </p> </blockquote><p>имхо, это в основном связано с большим количеством дисковых операций ввода-вывода, вызванных отсутствием файлов или папок и svncache.</p>

<p>у меня была та же проблема с медленным netbeans, но теперь она намного лучше после деактивации плагина svn ........ я думаю, что это может помочь. </p><p>удачи</p>

<p>это работает для меня:</p><blockquote> <p>netbeans\_default\_options = "- j-клиент -j-xverify: нет -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 "</p> </blockquote><p>настройки в <code>etc/netbeans.conf</code>.</p>

<p>в последний раз я решил исследовать, почему мой netbeans работал медленно.</p><p>я работаю на пк с 16 гб оперативной памяти и 3,5 ггц 8-ядерным процессором. у меня загрузка процессора составляет около 5–20%, объем памяти ниже 40%, но netbeans работает медленнее, чем мой 15-летний пк, который я спрятал в гараже.</p><p>после нахождения этой темы и прохождения <a href="http://wiki.netbeans.org/faqslownetbeans">http://wiki.netbeans.org/faqslownetbeans</a> я понял, что в правом нижнем углу netbeans я продолжаю видеть строку с надписью «сканирование ...», после попытки чтобы остановить это и ничего не происходило, я посмотрел дальше на то, что делал «сканирование ...», и понял:</p><p><strong>каждый раз, когда я запускаю netbeans, netbeans автоматически сканирует все открытые проекты.</strong></p><p>и вот, я закрыл 20 открытых проектов, и netbeans работает так же быстро, как блокнот.</p>

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

<p>действительно полезная статья о причинах медленной работы netbeans:</p><p> <a href="http://wiki.netbeans.org/faqslownetbeans">http://wiki.netbeans.org/faqslownetbeans</a> </p>

<p>похоже на предложение поставить все на ssd.</p><p>я запускаю netbeans из freebsd. файлы кэша netbeans находились в моем домашнем каталоге в .netbeans. мой домашний каталог был смонтирован поверх nfs, поэтому доступ был очень медленным. перемещение .netbeans на локальную машину значительно улучшило производительность. я добавил мягкую ссылку из .netbeans в моем домашнем каталоге в локальный каталог. netbeans описывает, как изменить usedir и cachedir <a href="http://wiki.netbeans.org/faqalternateuserdir">здесь</a> , и перечисляет это как причину в пункте 4.</p><p>до этого я мог написать целые предложения в комментариях, прежде чем графический интерфейс поймал и отобразил их. после того, как текст появляется, как я печатаю.</p>

<p><strong> поместите свою домашнюю папку .netbeans в рамдиск </strong>и netbeans будет невероятно быстрым.</p><p>я обнаружил в своей ubuntu 16.04, что каждое нажатие клавиши вызывает действие чтения или записи жесткого диска. для меня достаточно причины использовать рамдиск. в качестве небольшого положительного побочного эффекта мой hdd уже работает (без tickclickrrickrrrticktick) и имеет более длительный срок службы.</p>

<p>самое простое решение:</p><p>перейдите в настройки-> редактор и <strong> отключить: окно автозаполнения </strong></p><p>используйте: мета-ключ +\вместо того, когда вам нужно завершение кода.</p><p>самой большой проблемой, которую я обнаружил, была функция автозавершения кода . когда я набирал текст, он все время пытался запустить автозавершение кода . это вызывало очень медленную производительность, поскольку в моем проекте было много библиотек зависит от.</p><p>лучше всего то, что вы можете перестать сражаться с редактором, так как он продолжает обнаруживать ложные срабатывания во всплывающем окне завершения.</p><p>не оглядывался назад, так как я выключил это.</p>

<p>netbeans 8.0.2 (php) имеет две проблемы: клиент subversion и шаблоны <a href="https://netbeans.org/bugzilla/show\_bug.cgi?id=244246">twig</a> . чтобы кардинально улучшить общую производительность, а) отключите плагин twig templates (это также приведет к деактивации symphony2, в случае, если вам может потребоваться это) и б) переопределить клиент svn с помощью этого переключателя:</p><pre><code>run.args.extra=-j-dsvnclientadapterfactory=commandline </code></pre><p>^ project.properties позволяет определять аргументы cli индивидуально (что также может иметь смысл с настройками ram и другими настройками). думаю, можно снова включить twig, как только этот связанный отчет об ошибке будет закрыт. повторное сканирование на самом деле не является проблемой, в то время как повторное сканирование выполняется должным образом ... своевременно.</p><p>просто тестировал еще немного и заметил, что в linux он работает с oracle jdk более гладко, чем (обычный) openjdk - мы видели, что даже одна версия netbeans связана с ним.</p>

<p>у меня были большие проблемы с netbeans 8.0.2. это старый вопрос, но, возможно, кто-то еще, например, я, окажется с такой же проблемой, и я не нашел ответа, который бы мне никуда помог. </p><p>у меня есть netbeans 8.0.2 с плагином ruby on rails в windows 7. ide зависал до 10 секунд почти на каждом изменении, которое я сделал в некоторых файлах. это была проблема только с большими файлами, но это должно зависеть от того, были ли другие большие файлы без проблем. </p><p>проблема была вызвана «подсказкой» «rails 3 deprecations», я ее отключил, и теперь она очень быстрая, я могу без проблем включить <em>все остальное</em>.<br> он находится под <code>tools -> options -> editor -> hints</code>. </p><p>в других ответах есть рекомендации по оптимизации с параметрами запуска. я нашел эти ссылки о jvm-переключателях, которые помогли мне при тестировании оптимизировать (но оказалось, что эти настройки не имеют ничего общего с моей проблемой), они очень старые, но содержат некоторую полезную информацию:<br> <a href="https://performance.netbeans.org/howto/jvmswitches/index.html">объяснение jvm-переключателей</a> .<br> <a href="https://performance.netbeans.org/reports/gc/">некоторые (старые) рекомендации</a> </p>

<p>откройте файл: </p><p><code>/applications/netbeans/netbeans\ 8.0.2.app/contents/resources/netbeans/etc/netbeans.conf</code></p><p>я добавил несколько вариантов, показанных ниже:</p><p><code>netbeans\_default\_options="-j-dsun.java2d.opengl=true -j-dsun.java2d.d3d=false -j-xmx2048m ...</code></p><p>использование opengl может помочь вам, в зависимости от вашей системы. я бегу osx. 2048м может быть слишком много, но, похоже, не больно :-) ...</p>

<p>попробуйте профилировать netbeans с помощью visualvm. если «горячей точкой» является org.gnome.accessibility.atkwrapper.emitsignal (), попробуйте запустить netbeans с </p><p><code>-j-djavax.accessibility.assistive\_technologies=" "</code></p><p>это очень помогло в моем случае.</p><p>я действительно не знаю, почему именно этот инструментарий использовался, но похоже, что его вообще безопасно отключить.</p>

<p>для меня выработано включение автоматического сканирования источников.</p>

<p>у меня была та же проблема с netbeans 7.3. * и 7.4 beta в windows 7. включив и выключив некоторые плагины, я понял, что это был<strong> svn plugin </strong>, который постоянно увеличивал процессор примерно до 27%, превращая мой ноутбук в тостер. выключи и код снова счастлив :)</p>

<p><strong>для windows</strong> - должно работать и для других ос</p><p>netbeans, как и любое другое java-приложение, требует настройки для своей jvm.</p><p>пожалуйста, прочитайте следующую ссылку, чтобы получить результаты тестов для netbeans</p><p> <a href="https://performance.netbeans.org/reports/gc/">https://performance.netbeans.org/reports/gc/</a> </p><p>следующие настройки отлично работают на моем пк с windows 7 с 4 гб ram и четырехъядерным процессором i5.</p><p>(проверьте строку netbeans\_default\_options в файле конфигурации netbeans внутри папки bin и замените строку конфигурации следующим образом)</p><p>netbeans\_default\_options = "- xx: targetsurvivorratio = 1 -xverify: нет -xx: permsize = 100m -xmx500m -xms500m -xx + useparallelgc $ {netbeans\_default\_options}"</p><p>небольшое предложение: сборка мусора играет важную роль в размере кучи jvm, и, поскольку у меня был четырехъядерный процессор, я использовал parallel gc. если у вас однопоточный процессор, используйте useserialgc. исходя из моего опыта, если значения xmx xms одинаковы, jvm не снижает служебной информации при переключении между минимальным и максимальным значениями. в моем случае, когда размер моего приложения превышает 500 мб, параллельный сборщик мусора оказывается полезным для очистки нежелательного мусора, поэтому мое приложение никогда не превышает 500 мб на моем пк. </p>