Проблема Java загружает CPU на 100 и не отпускает

Java EE приложение загружает процессор на 100%

Имеется сервер приложений Jboss EAP 6.4.
Наше приложение иногда загружает сервер на 100%. Работа пользователей становится невозможной.

Практически всегда это происходит во время синхронизации приложения с 1С через веб сервис.
Складывается впечатление, что приложение съедает ресурсы после получения данных: получаем большой список данных, начинаем записывать его в БД — всё зависает. Но есть нестыковки. Например, иногда данных приходит мало, а проблема всё равно появляется. Иногда наоборот — данных много, но всё работает как часы.

Использовали visualvm чтобы изучить состояние сервера. Но практически безрезультатно.
Делаю snapshot, фильтрую по нашему пакету, сортирую по total time — вверху списка обычные методы получения данных из бд, которые обычно отрабатывают сравнительно быстро.
Задумывался о блокировках БД, но пока тоже кажется маловероятным.

Важный момент получение и обработка данных идет в 1 методе, а у процессора 8 ядер. То есть получается 1 поток съедает 8 ядер, что в общем-то выглядит невозможным. Если у кого-то будут идеи, что делать в этой ситуации, было бы очень здорово.. Прилагаю данные из visual vm собранные в момент загрузки ЦП на 100%

Такие симптомы могут быть из-за проблем с расходом памяти, который приводит к излишней нагрузке на GC ( Garbage collection ) — память заканчивается, запускается GC и «съедает» 100% CPU . Если при этом не удалось высвободить достаточно много памяти, то вскоре GC запустится снова. Настройте журнализацию запусков GC и мониторьте их. Возможно, что к моменту запуска синхронизации память уже «съедена» другими процессами, и оптимизировать надо их, а не синхронизацию.

Если веб-сервис — SOAP — то там высокие накладные расходы на обработку формата XML , требуется много памяти и CPU : если есть возможность, попробуйте перейти на REST/JSON . Проверьте алгоритмы обработки синхронизации, ищите возможность создавать меньше объектов. Если синхронизация получает данные по изменениям с момента предыдущей синхронизации — попробуйте запускать её чаще, чтобы снизить объём данных, передаваемых единовременно.

Поэкспериментируйте с размером доступной приложению памяти (параметр JVM Xmx ), для промышленного сервера обычно указывают не менее 2-4 Гб. Не торопитесь сразу выделять слишком много памяти, т.к. в таком случае хоть GC, скорее всего, будет запускаться реже, но время его работы может значительно увеличиться — может наступить так называемый stop the world , во время которого приложение становится практически не работоспособным. Смотрите так же память сервера — возможно, что ОЗУ закончилось и начинается сброс её содержимого на диск.

Если версия Java не самая последняя — попробуйте обновить, т.к. алгоритмы работы GC улучшаются от версии к версии. Насколько мне известно в 8-й версии были значительные улучшения. Также существует множество настроек GC .

Советы касательно настроек JVM — это уже крайний случай: в первую очередь разбирайтесь со своим ПО, т.к. в абсолютном большинстве случаев все проблемы с производительностью кроются именно в прикладном ПО, а не в JVM .

Источник

Почему java грузит процессор

Есть такая ситуация на боевом сервере: примерно раз в неделю (когда чаще, когда реже) java захватывает 100% процессора, вследствие чего сайт грузит каждую старницу по несколько минут. На сервере стоит tomcat 5.5.20 с jetspeed, и нашими сервлетами и портлетами. Операционная система: Suse Linux 10.1.

Как отловить, почему происходит это пожирание процессора? Подскажите, в какую сторону рыть? Помогите устранить проблему.

Насколько я знаю, tomcat автоматически рекомпилит jsp-страницы после их изменения. У нас настройки в этом плане стоят по умолчанию. Никаких фич дополнительных по этой теме не подключали

(меня всё-равно забанят)
Кстати, загрузка процессора 100% так и остается до принудительное перезагрузки? Или он позагружает, позагружает и опять начинает работать нормально?

Ждали до получаса — загрузка процессора оставалась на максимуме и не спускалась. Только принудительная загрузка помогала.

Для пущей ясности можно включить и трассировку компонентов Tomcat engine (прежде всего коннекторов). Хотя сам по себе Tomcat нигде не циклит.

1. JDBC к MS SQL. Если пишите (читаете) BLOB, а JDBC плохо реализовано.
2. Таблица имеет много полей и выполняется длинный запрос к БД. На каждую запись Hibernate делает объект, что и приводит к загрузке процессора и забиванию памяти.

Чтобы все это проверить — надо протрассировать выполняемые операции.

да не выжирается она, я имел возможность лицезреть два варианта "падения":
первый (немного не по теме, сорри) приложение перестает отвечать на 80 порту, помогает простой сброс/установка чекбокса "enabled" соответсвующего листенера сервера приложений (SJSAS у меня)

второй — это обсуждаемая загрузка проца под 100%
Смена jdk с 1.5_07 у сервера под WIN200 на jdk 1.6 под Solaris ничем не помогла
Т.к. не хотелось париться с mbean-ами, накидал обычное web-приложение, которое при обращении к нему выдает статистику по состоянию сервера (см. приложенный файл).

Оказалось, что постепенно не освобождаются thread-ы слушателя 80-порта, при том что состояние такого thread-а RUNNABLE, но из этого состояния он уже не выходит, в стеке этого потока не видно классов самого web-приложения, т.е. он занят чем-то другим, постепенно таких thread-ов становится больше, при этом увеличение их числа не пропорционально времени, т.е. на 4-процессорной машине сервер с загрузкой 50% (т.е. загрузкой некоторых процов) может работать неделю — сервер выделяет другие thread-ы из пула и на быстродействии это никак не сказывается, а может уйти (постепенно уеличивая число таких thread-ов) в 100% загрузку в течении одной ночи.

Источник

Как удалить javaw

Javaw.exe — это исполняемый файл (программа) для Windows. Расширение имени файла .exe — это аббревиатура от англ. слова executable — исполнимый. Необходимо запускать исполняемые файлы от проверенных производителей программ, потому что исполняемые файлы могут потенциально изменить настройки компьютера или нанести вред вашему компьютеру. Бесплатный форум с информацией о файлах может помочь вам разобраться является ли javaw.exe вирусом, трояном, программой-шпионом, рекламой, которую вы можете удалить, или файл принадлежит системе Windows или приложению, которому можно доверять.

Читайте также:  Деловые приложения Windows текстовый редактор Блокнот текстовый процессор WordPad редактор растровой графики Paint

Вот так, вы сможете исправить ошибки, связанные с javaw.exe

  1. Используйте программу Настройщик Windows, чтобы найти причину проблем, в том числе и медленной работы компьютера.
  2. Обновите программу Java™ Platform SE binary. Обновление можно найти на сайте производителя (ссылка приведена ниже).
  3. В следующих пунктах предоставлено описание работы javaw.exe.

Информация о файле javaw.exe

Процесс Java™ Platform SE binary или hp LaserJet (версия 1010 Series, 1150 / 1300) или Java (версия 2 Platform Standard Edition binary) или Dell SAS RAID Storage Manager или OpenJDK Platform binary или syncables desktop

принадлежит программе Java™ Platform (версия SE 6, SE 8, SE 7) или hp LaserJet (версия 1010 Series, 1150 / 1300) или Belkin Automatic Power Management или Java (версия 2 Platform Standard Edition 5.0, 6 Update 17 (64-bit)) или Winpower или OpenJDK Platform (версия 8) или PASW Statistics Student или SecureMode Management Agent

от Sun Microsystems (www.sun.com) или Oracle (www.oracle.com) или Hewlett-Packard (www.hp.com) или LSI (www.lsi.com) или LSI Logic (www.lsi.com) или N/A.

Описание: javaw.exe это одна из разновидностей исполнительной среды Sun Microsystems Java, которая является программой, позволяющей выполнять программы Java на вашем компьютере. Этот конкретный процесс отличается от java.exe тем, что при его работе не отображается окно команд, во всем остальном они одинаковы. Пока это не критично для работы системы, рекомендуется не отключать ее, так как многие программы и Web-страницы используют язык Java.

Подробный анализ: javaw.exe не является важным для Windows и часто вызывает проблемы. Javaw.exe находится в подпапках «C:\Program Files» или иногда в подпапках C:\Windows\System32. Известны следующие размеры файла для Windows 10/8/7/XP 20,572 байт (27% всех случаев), 20,549 байт и еще 27 варианта .
Это не системный файл Windows. У процесса нет видимого окна. Процесс использует порт, чтобы присоединится к сети или интернету. Нет более детального описания программы. Поэтому технический рейтинг надежности 49% опасности.
Разработчик Oracle предоставляет веб-сайт для помощи и для обновлений. Существует также деинсталлятор (Панель управления ⇒ Установка и удаление программ ⇒ Java(TM) 6 Update).

  • Если javaw.exe находится в папке C:\Windows\System32, тогда рейтинг надежности 30% опасности. Размер файла 145,184 байт (55% всех случаев), 135,168 байт, 149,280 байт или 173,960 байт. Это не системный процесс Windows. Приложение не видно пользователям. Это файл, подписанный Verisign. Поставлена цифровая подпись.
  • Если javaw.exe находится в подпапках «C:\Users\USERNAME», тогда рейтинг надежности 34% опасности. Размер файла 191,552 байт (33% всех случаев), 145,184 байт, 206,912 байт, 149,248 байт или 180,224 байт. Это не системный файл Windows. У файла поставлена цифровая подпись. Это файл, подписанный Verisign. Процесс использует порт, чтобы присоединится к сети или интернету. У процесса нет видимого окна.
  • Если javaw.exe находится в подпапках C:\Windows, тогда рейтинг надежности 36% опасности. Размер файла 173,960 байт (66% всех случаев) или 176,552 байт.
  • Если javaw.exe находится в подпапках «C:\Program Files\Common Files», тогда рейтинг надежности 6% опасности. Размер файла 192,376 байт.

Важно: Некоторые вредоносные программы маскируют себя как javaw.exe. Таким образом, вы должны проверить файл javaw.exe на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.

Комментарий пользователя

Вообщето написано очень грамотно, добавить просто нечего .
Андрей
Похоже на троян. Но KAV его не видит. Если это не троян, то зачем копировать себя под разными именами в system32 2 раза? java.exe и javaw.exe
RRRomzes
грузит проц на 90%. не хочет вырубатся диспетчером. процесс появился после установки какой то хрени. проверяю каспером все. всем удачи в борьбе
У меня в процессах этот файл появляется, когда запускаю Java control panel из Панели управления. После закрытия панели Ява процесс javaw.exe из памяти пропадает. В папке System32 имеются 2 файла javaw.exe javaws.exe
Ставится с APC PowerChute Busines Edition. Именно с ним, почему-то оказался глюкавый. Агент соотвественно не работал ((((
Эдуард
Это виртуальная машина JAVA
если из программ удалить автоапдейтер,то эти процессы не появятся.
Aion
По-моему он запускается когда ява проверяет свои обновления. Опасности мало
Дмитрий
при запуске иногда высвечивается, что «не найдена точка входа в этот самый. Иных повреждений не наблюдаю.
а.а.
Это виртуальная машина JAVA, не вирус, без нее работа некоторых программ невозможна, для разработки она необходима! (дополнительная информация)
Программист
Троян, пытающийся вытянуть эксплоиты аки DestructoTruck. «Специалистам» рекомендую узнать, что такое логи, и хоть раз в них заглянуть. Лечится путём удаления из менеджера задач, во вкладке «процессы», лежит в папке windows\system32, после остановки процесса удалить.
Просто Юзер
Заметил, что что-то безбожно жрет трафик интернета. Установил Tcpviev, оказалось, что виновник — javaw.exe. После выгрузки процесса прямо из Tcpviev, трафик нормализуется (до этого могло до 1 Гб за день загрузить, а куда и чего — не понятно. А что дальше делать -удалить этот файл вообще и ли всякий раз выгружать процесс через Tcpviev?
Сергей
Почему-то он постоянно коннектится ко всяким сомнительным сайтам и пытается вытянуть оттуда что-то аки «DestructoTruck»? Ни разу не троян, ага.
Троян, пытающийся вытянуть эксплоиты аки DestructoTruck. «Специалистам» рекомендую узнать, что такое логи, и хоть раз в них заглянуть. Лечится путём удаления из менеджера задач, во вкладке «процессы», лежит в папке windows\system32, после остановки процесса удалить.
Просто Юзер
Заметил, что что-то безбожно жрет трафик интернета. Установил Tcpviev, оказалось, что виновник — javaw.exe. После выгрузки процесса прямо из Tcpviev, трафик нормализуется (до этого могло до 1 Гб за день загрузить, а куда и чего — не понятно. А что дальше делать -удалить этот файл вообще и ли всякий раз выгружать процесс через Tcpviev?
Сергей
Грузит графический процессор на 95-100%
Андрей
Процесс появился после установки ПО для принтера HP1010
У меня ужасно висит комп из за этого файла, подскажите как мне быть. Я без него тоже не могу но и с ним не могу после недолго простоя компа этот процесс съедает всю оперативку и загружает процессор почти на 90%.
У меня ужасно висит комп из за этого файла, подскажите как мне быть. Я без него тоже не могу но и с ним не могу после недолго простоя компа этот процесс съедает всю оперативку и загружает процессор почти на 90%.
он относится к Minecraft
MrNUts
У меня процесс javaw.exe находится в папке C:\Program Files\Java, грузит процессор на 28-32%, при отключении процесса компьютер зависает на 2-3 секунды, после чего появляется сообщении о разрыве драйверов видеокарты, и об успешном восстановлении. Пока что отменил автозагрузку процесса при старте системы, но удалить его не удается. Подскажите пожалуйста как его можно удалить!
Антон
Режьте на серваках все сторонние программы. В кеше Явы постоянно лежат трояны. Использовать аплеты из и-нета крайне опасны. Только для проверенных программ, которые требуют для работы движок Явы.
Самый программистый программист
Пишу на java больше 10 лет. Обычное место для установки C:\Program Files (x86)\Java. В System32 установить теоретически можно, но специалист ее туда никогда не поставит, пользователь скорее всего тоже.
Vov9
у меня почемуто он лежит в папке C:\Program Files (x86)\syncables\syncables desktop\jre\bin проц не грузит, но памяти аж 39 Мб хавает
Пользователь
Процесс javaw.exe — программа, принадлежащая корпорации Oracle, которая используется в браузере Internet Explorer в качестве подключаемого модуля Java. Она является аналогом программы java.exe. Единственным отличием является то, что при работе процесса javaw.exe не отображается окно консоли. Если вы не хотите, чтобы отображалось окно командной строки, вполне вероятно, что может использоваться процесс javaw.exe. javaw.exe является исполняемым файлом, отображающим диалоговое окно при сбоях запуска программы. (дополнительная информация)
http://www.webso.ru
Если решили удалить,а он не удаляется,то один из способов удаления принудительным способом программой uninstall tool.Или другой прогой где есть принудительный способ.У меня как ни странно их оказалось три штуки,пока не глянул в монитор ресурсов!
Старый юзер
Мой случай: Windows 7 64bit, файл javaw.exe находится в «C:\Program Files\Java\jre1.8.0_20\bin», занимает около 300Мб оперативной памяти, стартует при запуске ECLIPSE PHP (прога для программеров). Является неотъемлемой частью программы. Безопасный случай.
k_v
Файл, появляющийся при установке java. AVZ определил, что он прослушивает порт 4444 и присвоил статус червя. Но поиск по базе данный выдал: «Файл обнаружен в базе системных и безопасных объектов AVZ». Касперский так же подтверждает безопасность файла. Но я описал только свой случай, если файл находится в \system32, то стоит обратить на него пристальное внимание.
Роман
Потенциально опасное ПО, может догружать загрузку процессора до 99%, при этом повышается уязвимость операционной системы в целом. После появления в системе может иметь количество копий по количеству установленных принтеров и устройств ИБП, сканеров, мобильных модемов и т п. На сегодня (1окт-2015) решением является: При помощи редактора реестра(команда regedit.exe) из ветки [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] удалить строку Userprint* Для 64-bit OS [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run] Расцениваю как программа-шпион и как вирус в качестве нагрузки на OS и на сетевое подключение.
Павел
Висел в процессах потреблял порядка 10% ресурсов CPU, находился в папке: «C:\Program Files\Java» с двумя фаилами.
Alex
конкретно на моём примере — этот файл отвечает за работу какой то там виртуальной машины которая перехватывает пакеты данных во время игры (pubg)? довольно сильно нагружая процессор. поправил ситуацию уменьшением окна программы радара на втором мониторе. надеюсь этот файл не делает мой компуктер зомби-рабом в третьих руках
Wortarion
установился вместе с программой мониторинга бесперебойника ippon с их оф. сайта .
Василий
Антон,его можно через IOBit unlocker (дополнительная информация)
Это нужно для работы экзешников, которые написаны на яве. Не вирус. Если не вырубается в диспетчере то перезапускаем комп, а потом быстро удаляем процесс. Можно в запустить в безопасном режиме
Майнкрафтер

Лучшие практики для исправления проблем с javaw

Аккуратный и опрятный компьютер — это главное требование для избежания проблем с javaw. Для этого требуется регулярная проверка компьютера на вирусы, очистка жесткого диска, используя cleanmgr и sfc /scannow, удаление программ, которые больше не нужны, проверка программ, которые запускаются при старте Windows (используя msconfig) и активация Автоматическое обновление Windows. Всегда помните о создании периодических бэкапов, или в крайнем случае о создании точек восстановления.

Читайте также:  IDF 2012 Процессоры Intel Ivy Bridge получат поддержку 4K в октябре

Если у вас актуальные проблемы, попробуйте вспомнить, что вы делали в последнее время, или последнюю программу, которую вы устанавливали перед тем, как появилась впервые проблема. Используйте команду resmon, чтобы определить процесс, который вызывает проблемы. Даже если у вас серьезные проблемы с компьютером, прежде чем переустанавливать Windows, лучше попробуйте восстановить целостность установки ОС или для Windows 8 и более поздних версий Windows выполнить команду DISM.exe /Online /Cleanup-image /Restorehealth. Это позволит восстановить операционную систему без потери данных.

Следующие программы могут вам помочь для анализа процесса javaw.exe на вашем компьютере: Security Task Manager отображает все запущенные задания Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записей автозагрузки. Уникальная оценка рисков безопасности указывает на вероятность процесса быть потенциально опасным — шпионской программой, вирусом или трояном. Malwarebytes Anti-Malware определяет и удаляет бездействующие программы-шпионы, рекламное ПО, трояны, кейлоггеры, вредоносные программы и трекеры с вашего жесткого диска.

javaw сканер

скачать

Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.

Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.

Reimage бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.

Источник



Проблема: Java загружает CPU на 100% и не отпускает

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Один поток загружает CPU на 100%
Никак не пойму, как получается, что если один поток нагружает процессор на 100% (например.

Читайте также:  Процессор с поддержкой sse2 как узнать

Java, 100% нагрузки CPU
Почему java грузит 90-100% цп системы? Как убрать нагрузку цп?

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

Браузер загружает процессор на 90-100%
Здравствуйте, у меня случилась такая беда. резко начал грузить проц в браузере и не только.. я.

Записывайтесь на профессиональные IT-курсы здесь

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

И если обьектов никто в данный момент не использует это не означает что они должны быть уничтожены. Будут объекты уничтожены и соотв. освободится память, когда на них не будет ниодной ссылки.

. А тем более сборщик мусора не освобождает нагрузку на процессор.
Скорее всего дело в программе, например, где-то бесконечный цыкл выполняется.
Совет: поставь отладочных сообщений побольше и пусть они спамят в какой-нить лог файл.

————— Ребята давайте жить дружно! (с) Кот Леопольд.

to vovik64:
То что ты написал по поводу сборщика мусора это и так все понятно. Я конечно ламер но не до такой степени чтобы не понимать что сборщик мусора не освобождает нагрузку на проц. Но загрузка проца проискодит именно в тот момент когда памяти не хватает. По поводу бесконечных циклов: я уже писал что проги отрабатывают успешно по многу раз в сутки. Какие тут могут быть бесконечные циклы? Если бы они были зависание происходило на прогах.

Источник

Высокая загрузка ЦП в java-приложении-почему?

у меня есть Java-приложение (веб-приложение), которое иногда показывает очень высокую загрузку процессора (почти 90%) в течение нескольких часов. В Linux показывает это. При перезапуске приложения проблема исчезает.

чтобы расследовать:

Я беру дамп потока, чтобы найти, что делают потоки. Несколько потоков находятся в ‘RUNNABLE’ состояние, некоторые в нескольких других состояниях. При принятии повторяющихся дампов потоков я вижу некоторые потоки, которые всегда присутствуют в ‘RUNNABLE’ государство. Итак, они кажутся виновными.

но я не могу сказать наверняка, какой поток захватывает процессор или вошел в бесконечный цикл (тем самым вызывая высокий CPU util).

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

как я могу исследовать-какая часть приложения или какой-поток вызывает высокую загрузку процессора? — Есть другие идеи?

5 ответов

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

в основном, есть три шага:

  1. run top -H и получить PID потока с самым высоким CPU.
  2. преобразовать PID в hex.
  3. ищите поток с соответствующим шестнадцатеричным PID в вашем дампе потока.

вы можете стать жертвой проблемы сбора мусора.

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

вы должны проверить, что нет утечки памяти в вашем приложении и то, что он хорошо настроен для памяти (проверьте см. что означает Java option-Xmx?)

кроме того, что вы используете в качестве веб-фреймворка? JSF много полагается на сеансы и потребляет много памяти, считайте, что это не более чем апатриды!

в эти часы пик процессора, какова нагрузка пользователя как? Вы говорите, что это веб-приложение, поэтому виновники, которые приходят на ум, — это проблемы с использованием памяти. Если вы храните много вещей в сеансе, например, и количество сеансов становится достаточно высоким, сервер приложений начнет метаться. Это также случай, когда GC может ухудшить ситуацию в зависимости от используемой схемы. Дополнительная информация о приложении и конфигурации сервера будет полезна в указывая на больше идей отладки.

ваш первый подход должен заключаться в том, чтобы найти все ссылки на нить.спи!—4—> и проверить, что:

сон-это правильная вещь — вы должны использовать какой — то механизм ожидания, если это возможно-возможно, тщательное использование BlockingQueue поможет.

Если спать is правильно, ты спишь на нужное количество времени — это часто очень сложный вопрос ответ.

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

второй наиболее распространенной проблемой является цикл не спать. Это еще хуже и немного менее легко отследить.

Источник