powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / tomcat периодически падает. Почему? (есть дамп потоков)
3 сообщений из 3, страница 1 из 1
tomcat периодически падает. Почему? (есть дамп потоков)
    #34525524
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Иногда (примерно раз в день-два) наш продуктовый сервер "падает". И вот уже несколько месяцев не могу понять почему. Ни одной записи ни в один лог сервер не пишет. На момент падения процессор не загружен.

Когда сервер упал пару дней назад, я сделал дам потоков (через kill -3). Дамп находится во вложенном файле.

Я написал утилиту, которая разбирает дамп, и смотрит, какие блокировки наиболее ожидаемые. Нашел, что есть 5 таких блокировок, которых ожидает более одного потока. Причем ожидают долго, потому что потоки растут несколько минут перед тем, как tomcat вообще перестанет отдавать страницы.

Одна из этих пяти блокировок ( 0x00002b58afb89630 ) нигде не лочится в дампе потоков (нету locked <0x00002b58afb89630> ), но 85 потоков ее ожидают. Как это может быть???

Другие 4 лока залочены потоками, которые "залипают" на примитивных операциях на длительное время. Например, этот поток сейчас находится в
java.util.HashMap.newKeyIterator, но 89 других потоков ждут этого лока (<0x00002b58afb85b1>) несколько минут:

автор"http-8080-Processor1533" daemon prio=1 tid=0x00002aaab2566160 nid=0x6acb runnable

[0x000000004c410000..0x000000004c412c20]
at java.util.HashMap.newKeyIterator(HashMap.java:889)
at java.util.HashMap$KeySet.iterator(HashMap.java:921)
at java.util.HashSet.iterator(HashSet.java:154)
at net.sf.ehcache.event.RegisteredEventListeners.notifyElementExpiry(RegisteredEventListeners.java:116)
at net.sf.ehcache.Cache.remove(Cache.java:1017)
at net.sf.ehcache.Cache.searchInMemoryStore(Cache.java:829)
at net.sf.ehcache.Cache.get(Cache.java:654)
- locked <0x00002b58afb85b18> (a net.sf.ehcache.Cache)
at org.hibernate.cache.EhCache.get(EhCache.java:75)
at org.hibernate.cache.StandardQueryCache.get(StandardQueryCache.java:96)
at org.hibernate.loader.Loader.getResultFromQueryCache(Loader.java:2086)
....................................
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)


Остальные 3 лока тоже залипли на примитивных операциях.

Вот что выдала моя утилита, которая анализирует количество вхождений waiting to lock <xxx> и waiting on <xxx> в лог.

авторwaiting to lock <xxx>::
<0x00002b58afb8bd18>: 1 times.
<0x00002b58afb9aa50>: 1 times.
<0x00002b58afb9c138>: 2 times.
<0x00002b58afb8b690>: 1 times.
<0x00002b597ae1ecf8>: 1 times.
<0x00002b58afb85b18>: 89 times.
<0x00002b58afb88548>: 1 times.
<0x00002b58afb96110>: 1 times.
<0x00002b58afb89630>: 85 times.
<0x00002b58afb8e5a0>: 1 times.
<0x00002b58afb98090>: 1 times.
<0x00002b58afbacd28>: 1 times.
<0x00002b58afb99380>: 1 times.
<0x00002b58afb9a0f8>: 1 times.
<0x00002b58afb90d48>: 1 times.
<0x00002b58a34127a8>: 4 times.
<0x00002b58b09c5138>: 29 times.
<0x00002b58afb91d18>: 1 times.

waiting on <xxx>::
<0x00002b58afbb0370>: 1 times.
<0x00002b58adae0ff8>: 1 times.
<0x00002b58adae0f48>: 1 times.
<0x00002b58adae0d38>: 1 times.
<0x00002b58afbb0518>: 1 times.
<0x00002b58adae0de8>: 1 times.
<0x00002b58af9a7ba0>: 1 times.
<0x00002b58adae0e98>: 1 times.
<0x00002b58afbaf898>: 1 times.
<0x00002b58b0930400>: 1 times.
<0x00002b58afbaff00>: 1 times.


Моя системная конфигурация:
Код: plaintext
1.
2.
jdk 1.5.0.11
tomcat 5.5.20
SuSe Linux 10.1

Как я могу решить эту проблему? Пожалуйста, помогите мне!

Спасибо!
...
Рейтинг: 0 / 0
tomcat периодически падает. Почему? (есть дамп потоков)
    #34526095
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте совет из " Tomcat on Linux ". Может поможет (если поможет, пожалуйста напишите)
...
Рейтинг: 0 / 0
tomcat периодически падает. Почему? (есть дамп потоков)
    #34610424
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovПопробуйте совет из " Tomcat on Linux ". Может поможет (если поможет, пожалуйста напишите)
Перешли на java6. Этой проблемы нет, но есть другая.
Один из потоков залипает на примитивных операциях. При этом область памяти OldGen забита на 99 процентов. У меня есть подозрение, что это утечка памяти. Может ли быть утечка памяти, если в логах нигде не пишется OutOfMemoryError, HeapSpaceError и т.д.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / tomcat периодически падает. Почему? (есть дамп потоков)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]