Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как узнать дедлок? / 13 сообщений из 13, страница 1 из 1
14.03.2016, 09:56
    #39191123
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
собссно вопрос в теме :) у меня несклько потоков в дедлоке. как узнать что они в дедлок встали? инструмент и т.п. но ессно без иде. когда это всё крутится скажем на томкате.
...
Рейтинг: 0 / 0
14.03.2016, 10:00
    #39191128
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
lor2,

Зависит от того на чем блокируются. Если обычный Lock/synchronized, то без проблем. По дампу потока видно захваченые им ресурсы. Проанализировав дамп, можно найти взаимоблокировки. Примеров в гугле полно.
Если же блокировки на уровне БД, то уже сложнее.
...
Рейтинг: 0 / 0
14.03.2016, 10:09
    #39191139
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
BlazkowiczЕсли же блокировки на уровне БД, то уже сложнее.
Аналогично:
BlazkowiczПо дампу ... видно захваченые им ресурсы. Проанализировав дамп, можно найти взаимоблокировки. Примеров в гугле полно.
По крайне мере в Oracle. В большинстве случаев Deadlock самым ядром БД будет распознаваться (две транзакции встали в dead lock), или посмотреть запросом какие сессии, что держат.

AFAIK
...
Рейтинг: 0 / 0
14.03.2016, 10:16
    #39191148
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
Leonid KudryavtsevПо крайне мере в Oracle. В большинстве случаев Deadlock самым ядром БД будет распознаваться (две транзакции встали в dead lock), или посмотреть запросом какие сессии, что держат.

Посмотреть нет проблем практически нигде. Вопрос в том как автоматизировать. Ну, и у Oracle с этим больших проблем нет. А у какого-нибудь MySQL, который на каждый чих блокирует всё до чего дотянется, с тем сложнее.
...
Рейтинг: 0 / 0
14.03.2016, 10:31
    #39191172
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
lor2,
действительно.
Нагружайте базу снаружи каким нибудь тестером.
И не забивайте голову термином дедлок от админов (не от программистов).
Будет тормозить Программа - будете копать.
...
Рейтинг: 0 / 0
14.03.2016, 12:17
    #39191257
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
стоп-стоп. можно на пальцах. допустим, я сделал сервлет, сделал его криво там внутри намутил многопоточку, и потоки сами себя поблокировали, речь о блоках синхронайзд, не о бд. ну окей, я это увижу в иде, в ней всякие прикольные инструменты есть. а вот когда там на удаленке на томкате??
...
Рейтинг: 0 / 0
14.03.2016, 12:27
    #39191264
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
lor2а вот когда там на удаленке на томкате??
Определитесь, пожалуйста. Вам именно на удаленный сервер анализировать, или автоматически взаимоблокировки разруливать?
На удаленный сервер, можно из VisualVM подцепиться - посмотреть. Можно через JMX снять дамп потоков.
...
Рейтинг: 0 / 0
14.03.2016, 12:29
    #39191266
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
Ну и никто не мешает отладчиком к удаленному серверу присоединиться.
...
Рейтинг: 0 / 0
14.03.2016, 12:30
    #39191267
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
...
Рейтинг: 0 / 0
14.03.2016, 15:45
    #39191506
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
благодарю :)

нашел кнопку контрл-брейк :) там всё написано. если блокед то блокед.
...
Рейтинг: 0 / 0
14.03.2016, 15:53
    #39191515
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
lor2нашел кнопку контрл-брейк :) там всё написано. если блокед то блокед.
Это называется Thread Dump. Ctrl+Break это только под виндой и только с консолью.
Если поток "блокед" это ещё не значит что мы в deadlock.
...
Рейтинг: 0 / 0
14.03.2016, 19:54
    #39191739
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
Blazkowicz,

кстати, по третьему пункту хотел высказаться. он примерно в таком виде ко мне в голову и пришел. чтоб высекать дедлоки но мне сказали что это всё фигня и это неверный подход.
...
Рейтинг: 0 / 0
14.03.2016, 19:57
    #39191742
lor2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как узнать дедлок?
пардон, четвертом.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / как узнать дедлок? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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