2015-10-26 2 views
-4

Мы используем сервер WAS 7, получая высокую загрузку процессора. Ниже приведены журналы SystemOut. Может ли кто-нибудь помочь нам в анализе причины?Врезка резьбы, высокая загрузка процессора

[10/21/15 17:42:57:651 EST] 00000031 ThreadMonitor W WSVR0605W: Thread "WebContainer : 22" (00000063) has been active for 663934 milliseconds and may be hung. There is/are 19 thread(s) in total in the server that may be hung. 
+0

Кто такие "мы"? Можете ли вы предоставить дополнительную информацию? –

ответ

-1

Ошибка, которую вы предоставили, просто означает, что ваши потоки не получат время процессора/процессора для выполнения своих задач.

  1. Проблема может быть в вашем приложении, то есть какой-то метод отвечает за использование высоких процессоров. Либо неправильно написанная (проблема реализации), либо дизайн решения (проблема дизайна) не являются оптимальными. Чтобы узнать виновника, профайл приложения с помощью профилировщика, статических инструментов анализа кода. Настройте/оптимизируйте фрагмент метода/кода, а затем снова проверьте.

  2. Если все методы не тяжелые, а дизайн и реализация хороши, то это может быть из-за потоков. Проверьте, где процессор тратит время. Действительно ли он занят полезной работой или просто делает бесполезную работу (io, ожидание ожидания, переключение контекста и т. Д.). Если ваше приложение делает ненужную/неосуществимую работу, попробуйте реализовать очередь блокировки потоков/потоков без блокировки.

Делать это также отслеживать другие ресурсы (память/сеть/диск), и если ваши уровни приложения, такие как базы данных/Web/LDAP и т.д., особенно если они размещены на одном сервере.

Я надеюсь, что это поможет вам найти место, где вам нужно посмотреть.

Смежные вопросы