ЦП 100% должен быть заблокирован.В это время памяти все еще достаточно для наблюдения, но ЦП всегда 100%.Для ее решения используются следующие шаги:
1. Найдите процесс, который больше всего потребляет ЦП
$top
top - :: up days, :, user, load average: 0.75, 0.60, 0.53
Tasks: total, running, sleeping, stopped, zombie
Cpu(s): 11.6%us, 7.0%sy, 0.0%ni, 81.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st
Mem: 8388608k total, 8381460k used, 7148k free, 0k buffers
Swap: 1999864k total, 0k used, 1999864k free, 4089340k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
admin - 5631m .0g 102m S : java
2. Распечатайте занятость потока в процессе:
$top -p -H
top - :: up days, :, user, load average: 0.63, 0.59, 0.54
Tasks: total, running, sleeping, stopped, zombie
Cpu(s): 0.7%us, 0.3%sy, 0.0%ni, 98.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.2%st
Mem: 8388608k total, 8382160k used, 6448k free, 0k buffers
Swap: 1999864k total, 0k used, 1999864k free, 4089636k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
admin - 5631m .0g 102m S :21.02 java
admin - 5631m .0g 102m S :56.39 java
3. файл дампа:
$ jstack > Desktop/jstack.log
4. Найдите шестнадцатеричное число, соответствующее PID шага №2.
$printf %x
269d6
5. Найдите стек потоков (0x269d6), соответствующий #4, в файле дампа #3:
zhangdeMacBook-Air:~ zhang$ more Desktop/jstack.log
2016-07-17 11:45:20
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.79-b02 mixed mode):
"Attach Listener" daemon prio=5 tid=0x00007f9aab82a800 nid=0x580b waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"SocketConnectorIoProcessor-0.2" daemon prio=5 tid=0x00007f9aab43b800 nid=0x7003 runnable [0x00000001699a4000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:200)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000001585a8078> (a sun.nio.ch.Util$2)
- locked <0x00000001585a8088> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000001585a8028> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:480)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
6. В сочетании с анализом дампа и кода обычно можно найти причину проблемы.
[Java] Дополнительные статьи по теме CPU 100% находят и устраняют причины
-
Причина исключения Java ConcurrentModificationException и решение
Причина исключения Java ConcurrentModificationException и решение Как упоминалось в предыдущей статье, если Vector.ArrayList модифицируется одновременно с итерацией, он выдает java.u...
-
Java одновременное программирование: Java ConturrentModificationException Исключение и решения
Причина исключения Java ConcurrentModificationException и решение Как упоминалось в предыдущей статье, если Vector.ArrayList модифицируется одновременно с итерацией, он выдает java.u...
-
[Turn] Причины исключения Java ConcurrentModificationException и решения
Исходный URL: http://www.cnblogs.com/dolphin0520/p/3933551.html Java ConcurrentModificationException Причины и решения...
-
какой линукс джава процессор 100%?
1. Используйте top, чтобы найти идентификатор наиболее ресурсоемкого процесса [ bin]# toptop - 16:56:14 up 119 дней, 6:17, 7 пользователей, средняя загрузка: 2,04, 2,07, 2. ...
-
linux java cpu 100%
1. Используйте top, чтобы найти идентификатор наиболее ресурсоемкого процесса [ bin]# toptop - 16:56:14 up 119 дней, 6:17, 7 пользователей, средняя загрузка: 2,04, 2,07, 2. ...
-
Общие причины и решения для загрузки ЦП w3wp.exe (IIS) 100%
Администраторы IIS часто сталкиваются с тем, что ЦП веб-сервера занимает 100%.Ниже приводится сводка личной ежедневной работы и некоторые решения, в основном используемые для анализа некоторых файлов w3wp.exe (IIS), занимающих 100% ЦП... .
-
Общие причины и оптимизация ЦП SQL Server 100%
Ситуация с процессором SQL Server 100% не очень распространена.Как правило, проблемы с производительностью SQL Server вызваны блокировкой, количеством подключений, дисками ввода-вывода и т. д. Поэтому уровень использования SQL Server, как правило, относительно низок.Однако, .. .
-
atitit.Почему эффективность разработки java-системы так низка и решение
atitit.Причина, по которой эффективность разработки java-системы так низка, и решение #---Проблема концепции разработки (влияние: большое, эффективность в 2-3 раза) mvcуправление сервером веб-формы ajax
-
[Возможность проекта] Как решить проблему высокой загрузки ЦП Java и других виртуальных рабочих столов Citrix
Как виртуальный рабочий стол citrix решает проблему высокой загрузки ЦП, например Java. Проблема 1: Java и другие клиенты сильно влияют на ЦП виртуального рабочего стола, но некоторым пользователям действительно необходимо использовать программы, поддерживаемые java. Есть ли другой способ решить эту проблему? ?Вопрос 2: Для этого...
Случайная рекомендация
-
Создавать новые теги (тэги) в open source China (ощина) git
Я отправил код в ствол сегодня, и я хотел добавить теги, потому что я создал новые теги раньше, но я не знаю, где находится репозиторий, когда я создаю новый. Я ищу его.Я не могу найти никакой информации в Интернете, и никто не заботится обо мне, когда я ищу обслуживание клиентов.Я видел обмен...
-
Анализ исходного кода ABP сорок один: аудит ZERO, настройка, фоновая работа
AuditLog: класс Entity, унаследованный от Entity
.Инкапсулирует информацию AuditLog.AuditingStore: реализует интерфейс IAuditingStore и реализует информацию AuditLog... -
Запишите кварц2d исследование (2)
(1) В основном речь идет о рисовании линий, а также о сохранении и восстановлении состояний рисования. На этот раз я расскажу о том, как рисовать графику. 2 Рисование графики 2.1 Рисование треугольников: (то есть рисование трех линий) - (void)drawRect:(CGRect)rect...
-
Связь между tomcat-ROOT и веб-приложениями, некоторые вопросы о развертывании
Феномен: Раньше сталкивался с очень странной проблемой.После публикации версии она не действует, а страница все равно читает предыдущую версию.После неоднократных поисков причины обнаруживается, что страница по пути http:// localhost:8080/mobie — это нормально, а http://localhost:8080/mobie.://lo...
-
Основное использование greenDAO3
greenDAO3 в основном использует greenDAO3, чтобы начать использовать аннотации для определения классов сущностей (сущностей) и генерирует код, устанавливая плагины gradle.Предыдущая версия создавала независимый проект Java-lib для хранения сгенерированных файлов...
-
MOTION-MATCHING IN UBISOFT’S FOR HONORПеревод
http://www.gameanim.com/2016/05/03/motion-matching-ubisofts-honor/ Introducing For Honor with a vide ...
-
Формат данных Android для синтаксического анализа использования объекта JSON (передача)
Адрес: http://www.cnblogs.com/devinzhang/archive/2012/01/09/2317315.html Ключевые моменты в нем: Случай синтаксического анализа JSON (1) Объект синтаксического анализа...
-
Основы Python — получение информации об объекте
Основы Python — получение информации об объекте Когда мы получаем ссылку на объект, как мы узнаем, к какому типу относится этот объект. Какие существуют методы? Использование type() Сначала давайте оценим тип объекта и воспользуемся функцией type(): типы Вы можете использовать type( ...
-
Транзакции и блокировки в SQL2005 (9) — перепечатано
------------------------------------------------------------------------ -- Author : HappyFlyStone - ...
-
Lingo для линейного программирования — модели распределения активов и портфеля
Reference: <An Introduction to Management Science Quantitative Approaches to Decision Making, Rev ...