Force safe point что это
Alexey Ragozin
All my articles on the net
Pages
Monday, October 1, 2012
Safepoints in HotSpot JVM
Safepoints
How safepoints work?
When safepoints are used?
Trouble shooting safepoints
References
16 comments:
I think the Azul JVM also used to do this to quickly trap moved/GC’ed addresses.
Using page faults for read barrier («quickly trap moved/GC’ed addresses») would be prohibitively expensive. Azul JVM does not use page faults for read barrier, though it is using this technique for defragmenting physical memory associated with large object.
Azul is using custom page mapping to facilitate software read barrier, but this technique does not relay on page faults.
Or at least it was that way last time I was working with Azul.
Thank you for an eye-opening article on safepoints. Do you know if there is any way to identify the reason for a huge pause of hundreds of seconds that does not appear to be related to GC activity?
Total time for which application threads were stopped: 0.0020916 seconds
Total time for which application threads were stopped: 0.0677614 seconds
Total time for which application threads were stopped: 0.0016208 seconds
Total time for which application threads were stopped: 195.2580105 seconds
Total time for which application threads were stopped: 0.0313111 seconds
Total time for which application threads were stopped: 0.0005465 seconds
Total time for which application threads were stopped: 0.0006269 seconds
Last problem with slow safepoints, was bug in JIT combined with weird application code.
Trying latest JVM is another step.
We switched to 1.6.0_43, at the time that happened we had 1.6.0_31. One of the reasons was bug 2221291. Can you tell me the bug ID for the problem related to JIT?
No, I didn’t track exact bug. Slight change of code has solved issue in my case.
Yep, 2221291 is a nasty one.
Very informative article, thank you. We have seen due to IO overload inside Linux. When this happens, GC log entries show use_time
at least 1 second. We are able to recreate this type of stalls in the lab too. It turns out that deferred writes to append a file can be blocked for a long time when the write is blocked by journal commit. Or when dirty_ratio is exceeded. We straced the Java process and could correlate some but not all of the stalls to GC threads when they write to the gc.log file. If GC threads do not have park the Java threads running in kernel mode, we are stumped about what else could have caused the stall (where user_time
0). Any other data/traces you would recommend to help us understand the issue better? Many thanks.
Sometimes I’ve seen JVM spending too much time trying to enter to safe point. Safe point initiation time is accounted to GC pause time.
Another suspects are native threads taking GC lock via JNI (+XX:+PrintJNIGCStals may help to identify if this is a case).
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
77440.0 73088.0 22896.4 0.0 1946624.0 222690.4 4194304.0 3638965.1 262144.0 216641.1 1093 11258.452 3 10031.493 21289.944
I would also suggest you to post question on stackoverflow.com (and post link here) as it is better platform for that kind of questions.
Hi Alexey, as suggested by you i have posted question on stackoverflow.com and here is the link
Also here is the start up parameters and PrintGCDetails are not enabled and will take time as it is production server.
Running VMStat for 5 hours has given the following result, i am providing a part of the output:
swap free re mf pi po 40336468 4025208 383 5473 465 59 40336132 4025732 383 5477 465 59 40336020 4025732 383 5478 465 59 40335940 4025752 383 5479 465 59 40335860 4025776 383 5479 465 59 40335776 4025796 383 5480 465 59 40335696 4025816 383 5481 465 59 40335584 4025816 383 5482 464 59 40335504 4025836 383 5483 464 59 40335420 4025856 383 5484 464 59
Can we inference something from this output
I am getting millions of following messages:
54.104: ThreadDump [ 153 2 3 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
54.104: ThreadDump [ 153 3 4 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
54.104: ThreadDump [ 153 1 6 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
54.104: ThreadDump [ 153 2 2 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
54.105: ThreadDump [ 153 0 2 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
54.105: ThreadDump [ 153 1 6 ] [ 0 0 0 0 0 ] 0
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
What could be the reason of ThreadDump activity in SafePoint?
I would guess, it is result of profiler. Thread dumps are widely used by profiler and sometimes by monitoring tools. Java code could also cause thread dump for itself.
Thanks for your quick updates.
There are no profiler attached to the java process.
I don’t see any log of general Threaddumps it means they are Internal Thread dumps as you mentioned.
Any other suggestions what to look for next?
Force safe point что это
Safe Point is just a feature that makes ur b1g aimbot go for points on the player that intersect both desync and real.
An example is if someone is freestanding, their desync will extremely close to their real (nature of desync) with their heads being
basically behind or infront of each other.
Safe point will recognize this, and be like. We can def shoot there, as the bullet will still hit thee real player.
You really shouldn’t be missing a shot due to bad animations with safe point, but I’ve seen some hacks still fail to hit.
Just have 3 matrixes, 2 being the possible desync resolve directions, and the 3rd one being the original.
Scan for a hitbox to shoot, and then re-trace and see if it intersects all 3 hitboxes.
(You can use this tracing method for also triggerbot bt, and missed shot calculations)
Another and lazier method which is LESS reliable is using angToLocal:
You can check if the person is leaning to the left or right on your side
This usually means that desync head and real head are extremely close (freestanding)
If they aren’t, or the lean doesn’t seem good, just go for the pelvis, which has the smallest fake body from my experience.
But I would recommend with trace-raying hitboxes (there are many SDKs with it)
— Usually stored in gamer software’s math files (math.cpp)
— Usually labelled like, TraceHitbox, and requires a few other math. like IntersectInfinityRayWithSphere or smth like that
That’s my take on it at least, and if anyone would like to correct me, please do :3
Safe Point is just a feature that makes ur b1g aimbot go for points on the player that intersect both desync and real.
An example is if someone is freestanding, their desync will extremely close to their real (nature of desync) with their heads being
basically behind or infront of each other.
Safe point will recognize this, and be like. We can def shoot there, as the bullet will still hit thee real player.
You really shouldn’t be missing a shot due to bad animations with safe point, but I’ve seen some hacks still fail to hit.
Just have 3 matrixes, 2 being the possible desync resolve directions, and the 3rd one being the original.
Scan for a hitbox to shoot, and then re-trace and see if it intersects all 3 hitboxes.
(You can use this tracing method for also triggerbot bt, and missed shot calculations)
Another and lazier method which is LESS reliable is using angToLocal:
You can check if the person is leaning to the left or right on your side
This usually means that desync head and real head are extremely close (freestanding)
If they aren’t, or the lean doesn’t seem good, just go for the pelvis, which has the smallest fake body from my experience.
But I would recommend with trace-raying hitboxes (there are many SDKs with it)
That’s my take on it at least, and if anyone would like to correct me, please do :3
to save urself some fps, its enough to grab the points from matrix a and then trace them onto the opposite direction. if they hit (could add a check if its the same hitbox if needed) u know that they overlap.
consider ur points are within the hitboxes and not outside, if your points are literally on the edge or further u might want to trace both matrix i guess
eg. take points with blue matrix, set bonematrix to green and trace the points u got from blue
Force safe point что это
РАЗДЕЛ: «SAFE-POINT»
Соревнования по комбат самообороне в разделе сейф-поинт проходят по правила «олимпийского фехтования поинт» с остановкой боя после первого точного технического действия (удар, бросок или добивание).
Технические действия приводящие к нокаутам разрешены (во взрослых категориях).
Площадка для поединка:
Площадка (маты или татами) для боя должна быть квадратной, размер рабочей площади 6*6 метров, толщина не менее 4 см., красная зона 8*8 метров, желательна защитная зона 10*10 метров.
Экипировка спортсменов:
Разрешённые приемы и цели:
Запрещенная техника и действия:
Система оценок:
— Оцениваются только разрешённая техника. Оценивается
«чистый», полностью контролируемый и правильно выполненный приём.
Присуждение баллов базируется, в первую очередь, на том, что проведённый приём должен обладать необходимой силой и скоростью, не ведущими однако к оглушению, искалечению и иным повреждениям противника. Однако приёмы, результатом которых является лишь лёгкое касание или скольжение (чиркание) по разрешённой для контакта зоне, также не оценивается.
— Если боец атакует в прыжке, он должен находиться внутри площадки, иначе баллы не присуждаются.
— Очки не присуждаются, если после проведения броска соперник не коснулся любой частью тела поверхности пола, кроме
ног.
— После определения результативного приёма бой останавливается по команде «Стоп!», прием немедленно оценивается всеми судьями и рефери, находящимися площадке.
Каждый из официальных лиц, находящихся на площадке, обладает одним голо¬сом.
Оценочная таблица:
-Победителем объявляется боец, первый набравший разницу в 5 очков или большее число баллов в момент окончания матча
-Другими способами выявления победителя являются: дисквалификация,
отказ от продолжения схватки, явное преимущество.
Встречные действия
Штрафные баллы:
Присуждение баллов:
-Если рефери видит результативный приём, он немедленно должен остановить схватку командой «Стоп!», одновременно с этим боковые судьи должны оценить этот приём и жестом показать рефери количество баллов и спортсмена, заработавшего их.
-Рефери должен сосчитать голоса судей, включая свой и определить, кто из бойцов набрал большее число голосов для присуждения балла.
-Если один из боковых судей увидел результативный прием, он должен немедленно подать сигнал рефери, который должен командой «Стоп!» остановить схватку. Затем все судьи, включая рефери, должны оценить выполненное действие.
-Минимум два судьи (включая рефери) должны зафиксировать и оценить
приём в пользу одного из спортсменов, чтобы балл был присуждён. Голоса одного судьи недостаточно для присуждения балла. Если два судьи (включая рефери) зафиксировали одновременное присуждение баллов обоим бойцам, то тогда оба бойца долж¬ны получить присвоенные баллы.
Если все судьи, включая рефери, отдали голоса одному из бойцов, то ему присуждается балл ввиду абсолютного большинства.
Если судья видел какие-либо иные действия, то он жестами должен показать их: «очки не начисляются», «удар ниже пояса», «не видел» и т.п.
Остановка матча:
Тайм-аут
Только рефери имеет право остановить матч. Боец может жестом попросить остановить матч, чтобы исправить повреждение или поправить экипировку.
Рефери может не дать тайм-аут, если он считает, что это лишит преимущества, либо даст преимущество одному из бойцов.
-Тайм-аут должен быть минимальным. Если рефери считает, что боец используется тайм-аут для отдыха или для консультаций с тренером, для информации о счете и т.п., то предупреждение может быть вынесено как за задержку боя, либо как за отказ от боя.
-Только главный судья по сейф-поинт, либо главный судья соревнований
может прервать матч, находясь вне площадки.
-Если тренер желает подать протест, он должен уведомить старшего судью по сейф-поинт, а также главного судью соревнований, который может принять протест по возможности без остановки матча.
Условия предоставления тайм-аута:
Повреждения
Приведение в порядок экипировки спортсмена.
Для совещания рефери с судьями.
Для разговора рефери с бойцом или его тренером.
Для обеспечения безопасности и справедливого поединка.
-Тайм-аут обычно не влияет на присуждение баллов. Рефери должен выполнять все процедуры быстро, чтобы обеспечить полное время матча.
-Рефери, который не в состоянии быстро и справедливо, а главное, профессионально обслуживать матч, может быть заменен решением главного судьи по сейф-поинту.
Действия рефери и боковых судей:
Возрастную и весовую таблицу для раздела: «Safe-Point» см. в разделе «правила»
SAFE-POINT
РАЗДЕЛ: «SAFE-POINT»
Соревнования по комбат самообороне в разделе сейф-поинт проходят по правила «олимпийского фехтования поинт» с остановкой боя после первого точного технического действия (удар, бросок или добивание).
Технические действия приводящие к нокаутам разрешены (во взрослых категориях).
Площадка для поединка:
Площадка (маты или татами) для боя должна быть квадратной, размер рабочей площади 6*6 метров, толщина не менее 4 см., красная зона 8*8 метров, желательна защитная зона 10*10 метров.
Экипировка спортсменов:
Перед началом поединка спортсмены должны быть полностью экипированы. Вся экипировка должна быть в хорошем состоянии, не допускается выступление спортсменов в несоответствующей, а также в непригодной экипировке.
Экипировка спортсмена включает:
1. Верх – куртка (кимоно),пояс соответствующий рангу.
2. Спортивные брюки, достигающие лодыжек.
3. Шлем типа “сейф”(c пластиковым забралом). Он не должен мешать зрению, а хороший слух должен быть гарантирован. На шлеме не должно быть никаких крючков и пряжек. Он должен быть подогнан точно по голове.
4. Перчатки для смешанных единоборств(ММА) с защитой большого пальца (специализированные для экипировки «сейф»).
5. Защита голени и подъема стопы — должна соответствовать размеру ступни.
6. Протектор на пах — обязателен к применению, должен одеваться под брюки и быть подогнанным по размеру.
7. Мягкий протектор на грудь (сертифицированный, любого типа).
8. Бойцы не должны иметь на себе во время боя какие-либо предметы, способные нанести травмы: цепочки, серьги, кольца и т.п.
9. Перед матчем защитное снаряжение проверяется в обязательном порядке боковыми судьями.
10. Если боец выходит на площадку, не имея какого-либо из вышеперечисленных элементов экипировки, либо имеет какие-либо нарушения в экипировке, то по указанию бокового судьи или рефери он должен устранить это нарушение в течение 1 минуты, при этом он получает предупреждение (1 балл сопернику) если он не успевает уложиться, то получает желтую карточку (3 балла сопернику).
Разрешённые приемы и цели:
Запрещенная техника и действия:
Система оценок:
— Оцениваются только разрешённая техника. Оценивается
«чистый», полностью контролируемый и правильно выполненный приём.
Присуждение баллов базируется, в первую очередь, на том, что проведённый приём должен обладать необходимой силой и скоростью, не ведущими однако к оглушению, искалечению и иным повреждениям противника. Однако приёмы, результатом которых является лишь лёгкое касание или скольжение (чиркание) по разрешённой для контакта зоне, также не оценивается.
— Если боец атакует в прыжке, он должен находиться внутри площадки, иначе баллы не присуждаются.
— Очки не присуждаются, если после проведения броска соперник не коснулся любой частью тела поверхности пола, кроме
ног.
— После определения результативного приёма бой останавливается по команде «Стоп!», прием немедленно оценивается всеми судьями и рефери, находящимися площадке.
Каждый из официальных лиц, находящихся на площадке, обладает одним голо¬сом.
Оценочная таблица:
Любые разрешённые удары руками — 1 балл
Бэкфист (рукой с разворота)…….. — 2 балла
Удары ногами (коленом) в корпус — 1 балл
Бросок (с амплитудой) ….. — 1 (2) балла
Удар ногой (коленом)в голову — 2 балла
Добивание в такт с броском — 1 балл
-Победителем объявляется боец, первый набравший разницу в 5 очков или большее число баллов в момент окончания матча
-Другими способами выявления победителя являются: дисквалификация,
отказ от продолжения схватки, явное преимущество.
Встречные действия
Штрафные баллы:
Присуждение баллов:
-Если рефери видит результативный приём, он немедленно должен остановить схватку командой «Стоп!», одновременно с этим боковые судьи должны оценить этот приём и жестом показать рефери количество баллов и спортсмена, заработавшего их.
-Рефери должен сосчитать голоса судей, включая свой и определить, кто из бойцов набрал большее число голосов для присуждения балла.
-Если один из боковых судей увидел результативный прием, он должен немедленно подать сигнал рефери, который должен командой «Стоп!» остановить схватку. Затем все судьи, включая рефери, должны оценить выполненное действие.
-Минимум два судьи (включая рефери) должны зафиксировать и оценить
приём в пользу одного из спортсменов, чтобы балл был присуждён. Голоса одного судьи недостаточно для присуждения балла. Если два судьи (включая рефери) зафиксировали одновременное присуждение баллов обоим бойцам, то тогда оба бойца долж¬ны получить присвоенные баллы.
Если все судьи, включая рефери, отдали голоса одному из бойцов, то ему присуждается балл ввиду абсолютного большинства.
Если судья видел какие-либо иные действия, то он жестами должен показать их: «очки не начисляются», «удар ниже пояса», «не видел» и т.п.
Остановка матча:
Тайм-аут
Только рефери имеет право остановить матч. Боец может жестом попросить остановить матч, чтобы исправить повреждение или поправить экипировку.
Рефери может не дать тайм-аут, если он считает, что это лишит преимущества, либо даст преимущество одному из бойцов.
-Тайм-аут должен быть минимальным. Если рефери считает, что боец используется тайм-аут для отдыха или для консультаций с тренером, для информации о счете и т.п., то предупреждение может быть вынесено как за задержку боя, либо как за отказ от боя.
-Только главный судья по сейф-поинт, либо главный судья соревнований
может прервать матч, находясь вне площадки.
-Если тренер желает подать протест, он должен уведомить старшего судью по сейф-поинт, а также главного судью соревнований, который может принять протест по возможности без остановки матча.
Условия предоставления тайм-аута:
Повреждения
Приведение в порядок экипировки спортсмена.
Для совещания рефери с судьями.
Для разговора рефери с бойцом или его тренером.
Для обеспечения безопасности и справедливого поединка.
-Тайм-аут обычно не влияет на присуждение баллов. Рефери должен выполнять все процедуры быстро, чтобы обеспечить полное время матча.
-Рефери, который не в состоянии быстро и справедливо, а главное, профессионально обслуживать матч, может быть заменен решением главного судьи по сейф-поинту.
Действия рефери и боковых судей:
Возрастную и весовую таблицу для раздела: «Safe-Point» см. в разделе «правила»