Ахаха, GC, что ты делаешь, прекрати... - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 29.12.2014, 23:01   #1
Аватар для WoWan-SM
Герой

Автор темы (Топик Стартер) Ахаха, GC, что ты делаешь, прекрати...

Имеются вот такие настройки
Код:
-Xms5120m
-Xmx5120m
-Xmn256m
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:MaxGCPauseMillis=300
-XX:+DoEscapeAnalysis
-XX:+UseBiasedLocking
-XX:+EliminateLocks
-XX:ParallelGCThreads=13
-XX:ParallelCMSThreads=4
-XX:+AggressiveOpts
-XX:SurvivorRatio=100
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=80
-XX:+CMSParallelRemarkEnabled
-XX:+CMSScavengeBeforeRemark
-XX:+CMSClassUnloadingEnabled
-XX:+UseCompressedOops
-XX:+UseFastAccessorMethods
-XX:+PrintGCDetails
-XX:+PrintGCCause
-XX:+PrintGCDateStamps
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCTimeStamps
-XX:+PrintTenuringDistribution
-XX:+PrintGC
-Xloggc:./log/game/garbage_collector.log
Но примерно 1к ботов появляющихся и удаляющихся (утечек памяти точно нет) унаследованных от класса Player(да-да, я маньяк и мне реально для всех целей бота нужен этот класс) заставляют сервак страдать уже буквально через 4 часа.
Агония происходит при полной сборкой мусора

Код:
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     600136 bytes,     600136 total
- age   2:     592416 bytes,    1192552 total
- age   3:     357872 bytes,    1550424 total
: 259260K->2393K(259584K), 0,1870088 secs] 3356973K->3100471K(5240320K), 0,1871209 secs] [Times: user=0,21 sys=0,00, real=0,18 secs] 
2014-12-29T18:58:06.506+0300: 53845,082: Total time for which application threads were stopped: 0,1874860 seconds
2014-12-29T18:58:07.827+0300: 53846,402: [GC (Allocation Failure) 53846,402: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     880072 bytes,     880072 total
- age   2:     303408 bytes,    1183480 total
- age   3:     324760 bytes,    1508240 total
: 259416K->2060K(259584K), 0,1947399 secs] 3357494K->3100477K(5240320K), 0,1948550 secs] [Times: user=0,21 sys=0,00, real=0,20 secs] 
2014-12-29T18:58:08.022+0300: 53846,597: Total time for which application threads were stopped: 0,1951924 seconds
2014-12-29T18:58:09.231+0300: 53847,806: [GC (Allocation Failure) 53847,807: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     858184 bytes,     858184 total
- age   2:     304752 bytes,    1162936 total
- age   3:     297616 bytes,    1460552 total
: 259076K->2168K(259584K), 0,0975083 secs] 3357493K->3100893K(5240320K), 0,0976299 secs] [Times: user=0,12 sys=0,00, real=0,10 secs] 
2014-12-29T18:58:09.329+0300: 53847,904: Total time for which application threads were stopped: 0,0980114 seconds
2014-12-29T18:58:10.608+0300: 53849,183: [GC (Allocation Failure) 53849,184: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     597328 bytes,     597328 total
- age   2:     532640 bytes,    1129968 total
- age   3:     298856 bytes,    1428824 total
: 259141K->1829K(259584K), 0,0752935 secs] 3357866K->3100841K(5240320K), 0,0754313 secs] [Times: user=0,14 sys=0,00, real=0,07 secs] 
2014-12-29T18:58:10.684+0300: 53849,259: Total time for which application threads were stopped: 0,0757869 seconds
2014-12-29T18:58:11.921+0300: 53850,496: [GC (Allocation Failure) 53850,496: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     847992 bytes,     847992 total
- age   2:     262648 bytes,    1110640 total
- age   3:     269344 bytes,    1379984 total
: 258852K->1691K(259584K), 0,1034302 secs] 3357864K->3100990K(5240320K), 0,1035724 secs] [Times: user=0,26 sys=0,00, real=0,10 secs] 
2014-12-29T18:58:12.025+0300: 53850,600: Total time for which application threads were stopped: 0,1039725 seconds
2014-12-29T18:58:13.199+0300: 53851,775: [GC (Allocation Failure) 53851,775: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     616120 bytes,     616120 total
- age   2:     501000 bytes,    1117120 total
- age   3:     256448 bytes,    1373568 total
: 258706K->1895K(259584K), 0,1982002 secs] 3358006K->3101448K(5240320K), 0,1983414 secs] [Times: user=0,16 sys=0,00, real=0,20 secs] 
2014-12-29T18:58:13.398+0300: 53851,973: Total time for which application threads were stopped: 0,2072278 seconds
2014-12-29T18:58:14.355+0300: 53852,930: [GC (Allocation Failure) 53852,931: [ParNew
Desired survivor size 1310720 bytes, new threshold 3 (max 15)
- age   1:     860992 bytes,     860992 total
- age   2:     258440 bytes,    1119432 total
- age   3:     233856 bytes,    1353288 total
: 258856K->1668K(259584K), 0,2144986 secs] 3358409K->3101467K(5240320K), 0,2146301 secs] [Times: user=0,13 sys=0,00, real=0,22 secs] 
2014-12-29T18:58:14.570+0300: 53853,145: Total time for which application threads were stopped: 0,2151597 seconds
2014-12-29T18:58:15.344+0300: 53853,919: [GC (Allocation Failure) 53853,920: [ParNew
Desired survivor size 1310720 bytes, new threshold 15 (max 15)
- age   1:     558792 bytes,     558792 total
- age   2:     233848 bytes,     792640 total
- age   3:     255952 bytes,    1048592 total
: 57128K->1528K(259584K), 0,0708097 secs]53853,990: [CMS: 3716032K->3172168K(4980736K), 11,0408599 secs] 3772962K->3172168K(5240320K), [Metaspace: 50011K->50011K(1093632K)], 11,1129720 secs] [Times: user=9,82 sys=0,00, real=11,12 secs] 
2014-12-29T18:58:26.457+0300: 53865,033: Total time for which application threads were stopped: 11,2187234 seconds
2014-12-29T18:58:26.810+0300: 53865,386: [GC (Allocation Failure) 53865,386: [ParNew
Desired survivor size 1310720 bytes, new threshold 15 (max 15)
- age   1:      54696 bytes,      54696 total
: 3229K->413K(259584K), 0,5019797 secs]53865,888: [CMS: 4404238K->4403483K(4980736K), 15,2511868 secs] 4407468K->4403483K(5240320K), [Metaspace: 50011K->50011K(1093632K)], 15,7537355 secs] [Times: user=13,25 sys=0,00, real=15,75 secs] 
2014-12-29T18:58:42.564+0300: 53881,140: [Full GC (Allocation Failure) 53881,140: [CMS: 4403483K->4403402K(4980736K), 14,1391152 secs] 4403483K->4403402K(5240320K), [Metaspace: 50011K->50011K(1093632K)], 14,1395414 secs] [Times: user=11,52 sys=0,00, real=14,14 secs] 
2014-12-29T18:58:56.704+0300: 53895,279: Total time for which application threads were stopped: 30,2033612 seconds
2014-12-29T18:58:57.212+0300: 53895,788: [GC (Allocation Failure) 53895,788: [ParNew
Desired survivor size 1310720 bytes, new threshold 15 (max 15)
- age   1:     370496 bytes,     370496 total
: 4737K->474K(259584K), 0,5612733 secs]53896,349: [CMS: 4403402K->3171246K(4980736K), 12,7653530 secs] 4408140K->3171246K(5240320K), [Metaspace: 49909K->49909K(1093632K)], 13,3286822 secs] [Times: user=11,83 sys=0,00, real=13,33 secs] 
2014-12-29T18:59:10.541+0300: 53909,117: Total time for which application threads were stopped: 13,8249042 seconds
2014-12-29T18:59:10.714+0300: 53909,289: [GC (Allocation Failure) 53909,290: [ParNew
Desired survivor size 1310720 bytes, new threshold 15 (max 15)
- age   1:     532952 bytes,     532952 total
: 17933K->569K(259584K), 0,0773867 secs]53909,367: [CMS: 4403315K->4403455K(4980736K), 11,6908664 secs] 4421249K->4403455K(5240320K), [Metaspace: 49909K->49909K(1093632K)], 11,7686491 secs] [Times: user=10,46 sys=0,00, real=11,77 secs] 
2014-12-29T18:59:22.483+0300: 53921,058: [Full GC (Allocation Failure) 53921,058: [CMS: 4403455K->4403455K(4980736K), 13,7432180 secs] 4403455K->4403455K(5240320K), [Metaspace: 49909K->49909K(1093632K)], 13,7435026 secs] [Times: user=10,47 sys=0,00, real=13,74 secs] 
2014-12-29T18:59:36.226+0300: 53934,802: Total time for which application threads were stopped: 25,6601429 seconds
2014-12-29T18:59:36.230+0300: 53934,805: [GC (Allocation Failure) 53934,805: [ParNew
Desired survivor size 1310720 bytes, new threshold 15 (max 15)
- age   1:      91088 bytes,      91088 total
: 4360K->161K(259584K), 0,0376395 secs]53934,843: [CMS: 4403455K->4403479K(4980736K), 12,9210055 secs] 4407816K->4403479K(5240320K), [Metaspace: 49909K->49909K(1093632K)], 12,9589878 secs] [Times: user=11,83 sys=0,00, real=12,96 secs] 
2014-12-29T18:59:49.189+0300: 53947,765: [Full GC (Allocation Failure) 53947,765: [CMS: 4403479K->4403479K(4980736K), 10,2861247 secs] 4403479K->4403479K(5240320K), [Metaspace: 49909K->49909K(1093632K)], 10,2865027 secs] [Times: user=9,01 sys=0,00, real=10,28 secs] 
2014-12-29T18:59:59.476+0300: 53958,051: Total time for which application threads were stopped: 23,2460207 seconds
2014-12-29T18:59:59.803+0300: 53958,378: [GC (CMS Initial Mark) [1 CMS-initial-mark: 4403479K(4980736K)] 4421432K(5240320K), 0,0416402 secs] [Times: user=0,08 sys=0,00, real=0,04 secs] 
2014-12-29T18:59:59.845+0300: 53958,420: Total time for which application threads were stopped: 0,3290768 seconds
2014-12-29T18:59:59.845+0300: 53958,420: [CMS-concurrent-mark-start]
2014-12-29T19:00:00.021+0300: 53958,597: Total time for which application threads were stopped: 0,0011359 seconds
Подскажите как можно уменьшить время полной сборки мусора?

P.S. Всем добра и бобра на воротник в наступающем новом году
__________________
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
WoWan-SM вне форума Отправить сообщение для WoWan-SM с помощью ICQ Отправить сообщение для WoWan-SM с помощью Skype™ Ответить с цитированием
Непрочитано 29.12.2014, 23:36   #2
Аватар для Donatte
Герой

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

Тоже интересовался данной проблемой, а именно временем жизни объекта после выполнения метода. Всё к чему пришёл, так это что 99% программистов на Java похожи на свиней которые срут под себя. Да, привычка с PHP хороша - все созданные объекты испаряются после завершения выполнения кода, но в java есть много способов одинаково бесполезных. Всё что более-менее подходящее для предотвращения свалок, так это подчищать крупные объекты сразу.

http://www.quizful.net/question/uZVyaTszV2oV - Тут как бы уже тема поднималась.
http://habrahabr.ru/post/183344/ - а вот тут обоснована ущербность Фрозенов.

Присоединяюсь к автору. Тоже интересно.
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 30.12.2014, 00:05   #3
Аватар для WoWan-SM
Герой

Автор темы (Топик Стартер) Re: Ахаха, GC, что ты делаешь, прекрати...

Цитата:
Сообщение от Donatte Посмотреть сообщение
Тоже интересовался данной проблемой, а именно временем жизни объекта после выполнения метода. Всё к чему пришёл, так это что 99% программистов на Java похожи на свиней которые срут под себя. Да, привычка с PHP хороша - все созданные объекты испаряются после завершения выполнения кода, но в java есть много способов одинаково бесполезных. Всё что более-менее подходящее для предотвращения свалок, так это подчищать крупные объекты сразу.

http://www.quizful.net/question/uZVyaTszV2oV - Тут как бы уже тема поднималась.
http://habrahabr.ru/post/183344/ - а вот тут обоснована ущербность Фрозенов.

Присоединяюсь к автору. Тоже интересно.
Ну очень плохой способ, т.к. мы не можем точно знать осталась ли ссылка на тот или иной объект или нет, и заполнять всю сборку finalize тоже не дело.

Но за то ты упомянув про "крупные" объекты подкинул идею разбить класс Player на составные класcы.

Но все же хотелось бы максимум выжать из возможностей GC
__________________
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
WoWan-SM вне форума Отправить сообщение для WoWan-SM с помощью ICQ Отправить сообщение для WoWan-SM с помощью Skype™ Ответить с цитированием
Непрочитано 30.12.2014, 00:08   #4
Аватар для Donatte
Герой

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

Цитата:
Сообщение от WoWan-SM Посмотреть сообщение
Ну очень плохой способ, т.к. мы не можем точно знать осталась ли ссылка на тот или иной объект или нет, и заполнять всю сборку finalize тоже не дело.

Но за то ты упомянув про "крупные" объекты подкинул идею разбить класс Player на составные класcы.
Цитата:
У Джошуа Блоха хорошо написано об этом методе:
Краткая выдержка:
1. finalize() можно использовать только в двух случаях:
1.1. Проверка/подчистка ресурсов с логированием
1.2. При работе с нативным кодом, который не критичен к утечке ресурсов
2. finalize() замедляет работу GC по очистке объекта в 430 раз
3. finalize() может быть не вызван
Я как раз finallize не считаю хорошим примером.

А что вам мешает вызывать чистильщик, как это предлагают на некоторых ресурсах System.gc(); ?
__________________
Родился, живу и когда-нибудь умру.
Donatte вне форума Ответить с цитированием
Непрочитано 30.12.2014, 00:10   #5
Аватар для WoWan-SM
Герой

Автор темы (Топик Стартер) Re: Ахаха, GC, что ты делаешь, прекрати...

Как видишь я тоже
__________________
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
WoWan-SM вне форума Отправить сообщение для WoWan-SM с помощью ICQ Отправить сообщение для WoWan-SM с помощью Skype™ Ответить с цитированием
Непрочитано 30.12.2014, 00:19   #6
Аватар для JavaMan

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

Зачем вся эта куча настроек вмки ? В явке 8 по дефолту стоит g1 гц, который уделывает все остальные гц явки.

А вообще надо смотреть в профайлере что именно так пожирает память и устранять причину. Всё остальное является тупым гаданием. Мы ведь даже не знаем что у вас находится в классе Player.
JavaMan вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 30.12.2014, 00:26   #7
Аватар для SouthBridge
Постоялец

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

Это немного не в кассу, но.. я полагаю что у Вас минимум Java 7, если не 8. Не пора ли перейти на G1 и отказаться от этих старых ужасов с настройкой сборщиков разных поколений?

p.s Алсо, на мой взгляд маловат размер Survivor областей что установлен как 1:100 при Eden'е в 256. Если мусора генерится много, то в таких условиях объекты может сразу отправлять на долгое хранение в Tenured.

UPD:
Чуть опоздал, GabberBaby уже описал всю суть. +1.

Последний раз редактировалось SouthBridge; 30.12.2014 в 00:27. Причина: upd
SouthBridge вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 30.12.2014, 00:58   #8
Аватар для WoWan-SM
Герой

Автор темы (Топик Стартер) Re: Ахаха, GC, что ты делаешь, прекрати...

Цитата:
Сообщение от GabberBaby Посмотреть сообщение
Зачем вся эта куча настроек вмки ? В явке 8 по дефолту стоит g1 гц, который уделывает все остальные гц явки.

А вообще надо смотреть в профайлере что именно так пожирает память и устранять причину. Всё остальное является тупым гаданием. Мы ведь даже не знаем что у вас находится в классе Player.
Цитата:
Сообщение от SouthBridge Посмотреть сообщение
Это немного не в кассу, но.. я полагаю что у Вас минимум Java 7, если не 8. Не пора ли перейти на G1 и отказаться от этих старых ужасов с настройкой сборщиков разных поколений?

p.s Алсо, на мой взгляд маловат размер Survivor областей что установлен как 1:100 при Eden'е в 256. Если мусора генерится много, то в таких условиях объекты может сразу отправлять на долгое хранение в Tenured.

UPD:
Чуть опоздал, GabberBaby уже описал всю суть. +1.
Перевести сборку перевел с 7 на 8, но настройки оставил.
Не в курсе был что у них сменился сборщик мусора.
Почитаю про него, спс.
Пока отключил все эти настройки и жду первого заполнения Eden space, чтобы посмотреть на предварительные результаты, а то ранее на этом месте тоже прилично времени подъедало.

Добавлено через 4 минуты
Пока полет нормальный:
Код:
2014-12-30T00:58:38.915+0300: 890,675: [GC (Allocation Failure) 
Desired survivor size 477102080 bytes, new threshold 5 (max 15)
[PSYoungGen: 1223153K->174576K(640512K)] 2895015K->1860132K(3437056K), 0,2583829 secs] [Times: user=0,81 sys=0,00, real=0,26 secs]
Ждем Full GC...

Добавлено через 41 минуту
G1 автоматически уменьшает максимальный размер кучи? о_О
__________________
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm

Последний раз редактировалось WoWan-SM; 30.12.2014 в 01:40. Причина: Добавлено сообщение
WoWan-SM вне форума Отправить сообщение для WoWan-SM с помощью ICQ Отправить сообщение для WoWan-SM с помощью Skype™ Ответить с цитированием
Непрочитано 30.12.2014, 02:24   #9
Аватар для n3k0nation
Antihero

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

Не максимальный размер кучи (она остается неизменной и ее изменить в рантайме нельзя), а забуференную память возвращает ОС.
Чисто мое мнение - гонять память от ОС к ЖВМ - плохо и медленно. Лучше бы она дальше оставалась в буферах.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 30.12.2014, 10:19   #10
Изгнанные

По умолчанию Re: Ахаха, GC, что ты делаешь, прекрати...

GenCloud вне форума Отправить сообщение для GenCloud с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
l2top - хватит, что делаешь? ахахах, прекрати MacBooks Курилка / Yak floor 50 12.10.2013 09:48


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 23:03. Часовой пояс GMT +3.

Вверх