|
Блокировка потоков
|
|||
---|---|---|---|
#18+
asv79 PetroNotC Sharp asv79, >который и есть многопоточный) Я не ожидал что у тебя внутри метода нет подметодов каждый со своим временем. ))))))) все там есть,петро не мешай плиз в этой теме - дай люди со знаниями накинут варинты проблемы. Дак тебе выше чел сказал ЧТО НУЖНО ЗНАТЬ ТОЧНО СТРОКУ.)))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 18:49 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev авторпс.я б собственно тему не создавал ,но каждый прогон - это 4 часа - может тут кто мысль подкинет) PS: Хм.. Я не всегда могу редактировать свои сообщения? память тут к сожалению не причем-я тоже думал что мы упираемся в лимиты - накинул памяти и все равно состояние это возникает в одном и том же месте- я думаю это какие то проблемы с данными ,так как раньше все работало с такими же объемами и не было никаких проблем. Тоесть если бы теория памяти была верна - мы бы при увеличении или уменьшении получали это состояние в разный момент времени- но оно всегда одно и тоже- точней не время а именно последние логи - обработка такого то элемента и привет подвисание ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 18:51 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
ТС Будет очень смешно если опять виновата бд гражданин джун. А у вас мания преследования петро пошла). Работай! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 18:52 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Для поиска проблемы нужно всего две вещи: 1. Определить какие потоки грузят 2. И на какой строке Я так понимаю что с 1ым проблем нет. Если есть, то в Линухе можно выводить потоки и насколько они загружают CPU с помощью top (в интернетах ищем по linux lightweight processes). Там же мы можем увидеть ID потока, который потом можно сопоставить с тем что выводит thread dump. Они правда выводят в разных системах исчисления, нужно будет пересчитать. Ну и на какой строке можно легко определить все тем же thread dump'ом: Код: powershell 1.
Ну а там уже по строке кода должно быть понятно. Если не понятно - нужно нам предоставить кусок кода который грузит. Может оказаться все тот же GC как уже предлагали выше, это будет свидетельствовать что создается слишком много объектов. Используется ли Hibernate для работы с БД и, если да, очищается ли его сессия? Также обычно СУБД позволяют определить какие записи заблокированы, какие запросы счас выполняются и пр. Это тоже может натолкнуть на мысли. В общем, @asv79, нужно чтоб ты хоть как-то начал диагностировать проблему. Пока звучит будто все телодвижения были нерешительны и наугад. Из вопроса даже не понятно - это java процесс вообще грузит CPU? спасибо за развернутый овет- сейчас получу это состоние блокировки и сделаю все что вы выше описали ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 18:55 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Из Монго в Постгрес, говоришь. Вариант: в Постгрес в запрос передаются какие-то объекты, от которых плохеет постгресовому драйверу. Сталкивался с таким, когда из скриптов в Nashorn вызывал JdbcTemplate, и вместо джавских дат и чисел приходили nashorn-овые. Кандидат на такой случай -- код вида statement.setObject(num, objFromMongo), когда типы bind-переменных определяются неявно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 19:03 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Alexander A. Sak Из Монго в Постгрес, говоришь. Вариант: в Постгрес в запрос передаются какие-то объекты, от которых плохеет постгресовому драйверу. Сталкивался с таким, когда из скриптов в Nashorn вызывал JdbcTemplate, и вместо джавских дат и чисел приходили nashorn-овые. Кандидат на такой случай -- код вида statement.setObject(num, objFromMongo), когда типы bind-переменных определяются неявно. объекты все одинаковые - тоесть если бы было не так оно бы не работало и раньше но кому то плохееет явно - что метод не завершается ,а вот кому надо понять -так как в логах везде тишь да гладь да божья благодать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 19:09 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp asv79 пропущено... все там есть,петро не мешай плиз в этой теме - дай люди со знаниями накинут варинты проблемы. Дак тебе выше чел сказал ЧТО НУЖНО ЗНАТЬ ТОЧНО СТРОКУ.)))))) человек,а не ты- ты то сиди ровно и не мешай людям общаться пс.давно пора администрации форума сделать функцию Unwanted чтобы петро забыл сюда дорогу) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 19:55 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Код: java 1.
набрал топ - получил процесс который 900% занимает ЦПУ команда выше не работает - Код: java 1. 2. 3. 4. 5. 6.
ни одна из этих команд не приводит к успеху какой то конфликт с монго сервером судя по всему Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 20:03 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Джаву откуда запускаешь? У нее в каталоге /bin этот jcmd должен быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 20:17 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
asv79 PetroNotC Sharp пропущено... Дак тебе выше чел сказал ЧТО НУЖНО ЗНАТЬ ТОЧНО СТРОКУ.)))))) человек,а не ты- ты то сиди ровно и не мешай людям общаться пс.давно пора администрации форума сделать функцию Unwanted чтобы петро забыл сюда дорогу) 22298979 Долго врубался чтобы вычислить что бд виновата? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 20:31 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Alexander A. Sak Джаву откуда запускаешь? У нее в каталоге /bin этот jcmd должен быть. я запускаю ctl сервис ,хз где там джава спряталась) но она точно есть ибо приложение работает ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 21:25 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp asv79 пропущено... человек,а не ты- ты то сиди ровно и не мешай людям общаться пс.давно пора администрации форума сделать функцию Unwanted чтобы петро забыл сюда дорогу) 22298979 Долго врубался чтобы вычислить что бд виновата? бд тут не причем 900% цпу висит на процессех прилоежния где то рядом пострегрес с 1.3 % так что иди спать конь педальная) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 21:27 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
asv79 PetroNotC Sharp бд тут не причем 900% цпу висит на процессех прилоежния где то рядом пострегрес с 1.3 % так что иди спать конь педальная) То есть, если бд начинает писать 1 запись в сек по разным причинам, то у тебя потоки не будут тормозить что ли? Они 1 процент ЦПУ займут? Ну скажи хоть пару умных слов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 21:52 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
asv79, не знаю как насчет jcmd но на моем опыте обычно используется jstack <PID> - снять тред-дамп jmap <PID> - снять хип-дамп Если таких команд нет, и, вдруг приложение крутится в докере - то какой образ используется? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 22:21 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Мое имхо, что автору топика не следует пудрить мозги про дамп памяти, карту памяти, дамп кучи и т.д. Это слишком круто для него. Надо искать ошибку более простыми способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 22:43 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
автор900% цпу висит на процессех прилоежния где то рядом пострегрес с 1.3 %Ок, ну эт хорошо, значит локализовали что это хотя бы наше приложение. А дальше нужно искать уже точно строку кода, вполне возможно что там какой-то баг который в вечный цикл вводит приложение. Это очень быстро отыскивается с помощью thread dump'a. И этому нужно обязательно обучиться - снимать дампы это одно из первых и лучших средств траблшутинга. Поэтому лучше сразу потратить время и разобраться. авторCommand 'jcmd' not found, but can be installed with:jcmd устанавливается вместе с JDK. Т.е. находится в JAVA_HOME/bin, ищи там. Однако в комплект JRE эта утилита не входит, поэтому если у тебя именно JRE - се ля ви. Нужно будет поставить JDK. pavel_nvне знаю как насчет jcmd но на моем опыте обычно используется jstack <PID> - снять тред-дамп jmap <PID> - снять хип-дампЭти тоже входят только в JDK, но на сегодняшний день jcmd их вытесняет. Она в себя включает эти две возможности, а также многие другие: jcmd helpThe following commands are available: Compiler.CodeHeap_Analytics Compiler.codecache Compiler.codelist Compiler.directives_add Compiler.directives_clear Compiler.directives_print Compiler.directives_remove Compiler.perfmap Compiler.queue GC.class_histogram GC.finalizer_info GC.heap_dump GC.heap_info GC.run GC.run_finalization JFR.check JFR.configure JFR.dump JFR.start JFR.stop JVMTI.agent_load JVMTI.data_dump ManagementAgent.start ManagementAgent.start_local ManagementAgent.status ManagementAgent.stop Thread.print VM.class_hierarchy VM.classloader_stats VM.classloaders VM.command_line VM.dynlibs VM.events VM.flags VM.info VM.log VM.metaspace VM.native_memory VM.print_touched_methods VM.set_flag VM.stringtable VM.symboltable VM.system_properties VM.systemdictionary VM.uptime VM.version help ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 22:53 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, я думаю тут коллегам больше интересно самим посмотреть тред-дамп топик стартера и пополнить свой багаж знаний (как делать не надо), чем решить конкретную проблему топик-стартера ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 22:56 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
pavel_nv, Может быть ты и прав. Только ТС обычно не делает то что его просят. Поживем увидим. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 23:09 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, >Ок, ну эт хорошо, значит локализовали что это хотя бы наше приложение. = не думаю что эти две цифры локализуют AppServer и исключают обе БД как проблемные. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2021, 23:12 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
asv79 Alexander A. Sak Джаву откуда запускаешь? У нее в каталоге /bin этот jcmd должен быть. я запускаю ctl сервис ,хз где там джава спряталась) но она точно есть ибо приложение работает Непонятно. Ты привел слово которое слишком .... слишком много раз гуглится и по нему нет никакой конкретики. Это оно? Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Тыж понимаешь когда затаскиваешь в форум Java связи с какой-то специфичной технологии - то надо об этом обязательно сказать. Иначе - люди просто не знают о чем речь идет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 19:50 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
mayton asv79 пропущено... я запускаю ctl сервис ,хз где там джава спряталась) но она точно есть ибо приложение работает Непонятно. Ты привел слово которое слишком .... слишком много раз гуглится и по нему нет никакой конкретики. Это оно? Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Тыж понимаешь когда затаскиваешь в форум Java связи с какой-то специфичной технологии - то надо об этом обязательно сказать. Иначе - люди просто не знают о чем речь идет. да это именно оно - приложение запускается sudo systemctl start app.service ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 20:34 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
А ну набери Код: java 1.
Там будут опции. Может command-line. Вот у меня например memcached показывает. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Там и путь к скрипту старта. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 20:42 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
далее я начал вычленять элемент - на котором все стопорится- вроде нашел ,по крайне мере по логам - он последний берется в работу и все виснет я значит беру этот элемент и удаляю из списка,но один хрен приложение постигает таже участь приблизительно на том же месте тред дамп я снять не могу - как выше заметили нужен установленный jdk,а его нет и установить не дадут что я начал делать дальше - я прогнал локально - тоесть на винде,на другой системе ,на другой версии постгрес и опять уперся рогом ровно в тоже самое место ,что и на серваке... при этом вообще не понятно что проиходит- так как в логах тишина сейчас временно убрал многопоточку - посмотрим что будет в обычном режиме - упрется в тоже место или нет сейчас я уже думаю что бд - вероятно не может такое количество засейвить- и где то что то превращается в вечно ждущеее состояние если в обычном режиме все пройдет гладко- значит буду уменьшать количество потокв. пс.как снять тред дамп с ctl службы я завтра спрошу у админов- может есть какой то иной способ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 20:42 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev автор900% цпу висит на процессех прилоежния где то рядом пострегрес с 1.3 % авторCommand 'jcmd' not found, but can be installed with:jcmd устанавливается вместе с JDK. Т.е. находится в JAVA_HOME/bin, ищи там. Однако в комплект JRE эта утилита не входит, поэтому если у тебя именно JRE - се ля ви. Нужно будет поставить JDK. pavel_nvне знаю как насчет jcmd но на моем опыте обычно используется jstack <PID> - снять тред-дамп jmap <PID> - снять хип-дампЭти тоже входят только в JDK, но на сегодняшний день jcmd их вытесняет. Она в себя включает эти две возможности, а также многие другие: jcmd helpThe following commands are available: Compiler.CodeHeap_Analytics Compiler.codecache Compiler.codelist Compiler.directives_add Compiler.directives_clear Compiler.directives_print Compiler.directives_remove Compiler.perfmap Compiler.queue GC.class_histogram GC.finalizer_info GC.heap_dump GC.heap_info GC.run GC.run_finalization JFR.check JFR.configure JFR.dump JFR.start JFR.stop JVMTI.agent_load JVMTI.data_dump ManagementAgent.start ManagementAgent.start_local ManagementAgent.status ManagementAgent.stop Thread.print VM.class_hierarchy VM.classloader_stats VM.classloaders VM.command_line VM.dynlibs VM.events VM.flags VM.info VM.log VM.metaspace VM.native_memory VM.print_touched_methods VM.set_flag VM.stringtable VM.symboltable VM.system_properties VM.systemdictionary VM.uptime VM.version help я могу локально прогнать впринципе эти данные,локально у меня установлен jdk ,правда не линукс ,а винда. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 20:49 |
|
Блокировка потоков
|
|||
---|---|---|---|
#18+
Там - обычный bash-script. По нему - найдешь где установлена JDK/JRE. Найдешь - дальше будем дейстовать по обстановке. Вполне вероятно что JDK не установлен. Тогда надо будет его доустановить. apt install ... e.t.c. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 20:50 |
|
|
start [/forum/topic.php?fid=59&msg=40063467&tid=2120472]: |
0ms |
get settings: |
19ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
460ms |
get tp. blocked users: |
1ms |
others: | 296ms |
total: | 846ms |
0 / 0 |