Netbeans 8.2: высокая загрузка процессора без какой-либо причины

Надеюсь, я поставил этот вопрос в правильном месте.

С нескольких дней у меня проблема с Netbeans 8.2 (свежая установка)

Java 1.8.0_162.

Операционная система: Windows 7/10. Проблема возникает на трех разных компьютерах.

Действия по воспроизведению:

  • Откройте любой файл в IDE NetBeans (ручка редактирования мигает),
  • Отключить окно NB (нажмите на другое окно, блокнот, браузер не имеет значения),
  • Вернитесь к NB снова, щелкнув непосредственно на открывшемся документе (карет снова мигает),

Теперь вы должны заметить использование ЦП. Чтобы сделать его более низким, нажмите на панель "Выход".

РЕШЕНИЕ ДЛЯ ЭТОГО ВОПРОСА

Нашел решение этой проблемы. Я установил старую Vesion из JDK 8u144 и установить netbeans_jdkhome переменную в <netbeans install directory>/etc/netbeans.conf, поэтому он указывает на эту версию. Теперь все работает правильно, без использования ЦП на холостом ходу.

Как заметил ImtiazeA, Netbeans отлично работает без этой проблемы с установленным JDK 8u172 (спасибо за ваш ответ). Они, должно быть, исправили это :) Так что просто не используйте 8u152 и 8u162, и это будет хорошо.

РЕДАКТИРОВАТЬ

Отключено все установленные плагины и все та же проблема.

Установленный Netbeans 8.0 - не помог...

Загрузили версию Net netbe и получили ту же проблему. Теперь, используя IDE Profiler и получил это сообщение:

java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
    at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2062)
    at java.awt.Component.getLocationOnScreen(Component.java:2036)
    at javax.swing.text.JTextComponent$InputMethodRequestsHandler.getTextLocation(JTextComponent.java:4643)
    at sun.awt.im.InputMethodContext.getTextLocation(InputMethodContext.java:278)
    at sun.awt.windows.WInputMethod$1.run(WInputMethod.java:588)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Ответ 1

Кто-то где-то сказал, что проблема с областью "Задачи" где-то в фоновом режиме что-то делает. Включите его и затем выйдите из меню/Окно/Задачи, и ваш компьютер снова начнет дышать.

Для меня Ctrl-Shift-6, Ctrl-W - это новое непроизвольное действие.

Если они не исправят это в следующие семь лет, я перехожу к другой среде IDE. Это максимум, который я им даю.

Ответ 2

Для тех, кто не заметил решение Krzysztof, упомянутое в вопросе, я установил другой JDK, и он исправил мою проблему. Я только что установил последний JDK 8u172 (вместо 8u144), и он работал для меня.

Ответ 3

У меня та же проблема. Похоже, что Netbeans постоянно проверяет выбранное окно кода для компиляции и синтаксических ошибок, даже когда Netbeans минимизируется. Мое решение состоит в том, чтобы не удалять вкладку "Начальная страница", которая появляется при запуске Netbeans. Затем перед минимизацией выберите эту вкладку, и загрузка процессора упадет до 0.

Ответ 4

Просто упомянуть, что я работаю на Intel i5 и Windows10-64bit. Я буквально все испробовал. После одного из этих обновлений системы мой Netbeans 8.2 повлиял на систему очень медленно, почти до безответственности. При запуске или сборке NB система практически не реагирует. Таким образом, все возможные хитрости как Netbeans, так и Java не могут решить проблему. Похоже, что обновление Windows само по себе запускает проблему, поскольку обновления, как я полагаю, изменили на низком уровне системы. Я решил снизить PID Netbeans, создав новый ярлык следующим образом:

cmd.exe /c start "Netbeans 8.2 LowPrio" /Low "C:\Program Files\NetBeans 8.2\bin\netbeans64.exe"

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

https://gist.github.com/dobrivoje/2af15a84dbd3179938e0fbf288d512b4

Ответ 5

Другая возможная причина: большой объем данных в буфере обмена.

Мой NetBeans потреблял более 70% процессора. Я последовал советам из вышеприведенного комментария и открыл меню IDE Log из меню View. Там я получил следующую ошибку:

java.lang.OutOfMemoryError: OutOfMemoryError at
  sun.awt.windows.WClipboard.getClipboardData(Native Method) 

Переключение в другое окно, выбрав несколько символов, и Ctrl-C разрешили проблему.

Ответ 6

Я нашел решение для этого. По крайней мере, это сработало для меня. У меня была такая же проблема. Мое решение - удалить внутреннюю папку netbeans из AppData и попробовать перезапустить netbeans. Теперь он отлично работает. Мой путь: C:\Users\awais\AppData\Roaming\NetBeans Удалить папку 8.1 или 8.2 и перезагрузить netbeans.