|
|
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Очень надеюсь на вашу помощь ,собственно имею игровой сервер ,пришлось перейти с линукса на windows server 2008 (крайняя необходимость ). Какие появились проблемы: 1) У всех вырос пинг и главное появились сильные фризы при скопления народа . Самое интересное ,что тормоза заметны просто когда открываешь консоль ЯВЫ и видно как записи идут рывками (зависают ) .Такое ощущения ,что процессор нагружен на 100%. Теперь вопросы: 1) Ява нагружает как я заметил сильно только один процессор ,можно ли что-то в батнике прописать ,что бы кушала все ядра ? 2) Как прописать в батнике ,что бы при старте ЯВЕ автоматически присваивался "высокий приоритет" 3) Что вообще посоветуете сделать с виндой (Явой) ,что бы не было этих фризов? На линукс возможности вернутся нет. Что сейчас прописано в батнике: XMS = XMX (пробовал менять минимальное значения результата не дало) и -server -ea -xdebug В самом игровом сервере есть некоторые параметры: basepollsize и threadpercore . Еще раз минимальный пинг не изменился проблема только в том ,что появились прыжки пинга(фризы) с 60 может до 2000 прыгнуть и в этот момент визуально видно как консоль явы так же идет с задержками... НА линуксе таких проблем не было. Очень надеюсь на вашу помощь ,заранее благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 23:15:33 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321Еще раз минимальный пинг не изменился проблема только в том ,что появились прыжки пинга(фризы) с 60 может до 2000 прыгнуть и в этот момент визуально видно как консоль явы так же идет с задержками... НА линуксе таких проблем не было. - проблема в реализации многопоточности, в коде должны быть конструкции типа Thread.yield() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 23:34:19 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321, 1) -XX:ParallelGCThreads= Число ядер ; 2) Для Windows Server 2008 доступны приоритеты - /MIN /MAX /SEPARATE /SHARED /LOW /BELOWNORMAL /NORMAL /ABOVENORMAL /HIGH /REALTIME /WAIT 3) Проверьте, не выставлен- ли -XX:ThreadPriorityPolicy=1 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 00:07:37 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
Возможно, проблема в политике обработки приоритетов потоков, которая изменилась при портировании с Linux JVM на Windows JVM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 00:54:49 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
[quot 123321 1) Ява нагружает как я заметил сильно только один процессор ,можно ли что-то в батнике прописать ,что бы кушала все ядра ?[/quot] Это каким же способом вы это заметили? Через стандартную программку "монитор процессов"? Так она показывает 100% когда загружены все ядра, в этой ситуации линуксовский top показал бы 100% * (количество ядер). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 08:50:38 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
-XX:ThreadPriorityPolicy=1 нет такой параметр вовсе не задан , если его задавать то с каким числом? и по поводу приоритетов , то батник ведь не поймет /Max и тд. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 10:45:20 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
А я бы посмотрел на GC, если тормоза в нем - попробовал бы поменять и\или потюнить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 13:25:25 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
забыл никА я бы посмотрел на GC, если тормоза в нем - попробовал бы поменять и\или потюнить Да, куча проблемных место помимо "приоритетов" и гипотетических распределений потоков. GC, конечно, всегда стоит логировать и смотреть в него. Но вряд ли его логика поменялась с переездом на винду. 123321, Сколько вообще потоков? Если у вас тысячи активных параллельных запросов без особого пулинга и NIO, то, вроде, на винде с этим хуже. Какие потребления памяти? Заполненость кучи? Фризы надо смотреть профилировать и смотреть, на IO они, или на GC. Или просто процессоры чем-то заняты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 13:37:46 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
память очень странно кушается , например минимум =максимум и равно 8гб , при запуске память ходит кругами ,как будто уходит в виртуальную (свап отключен ) ,после чего где-то через минут 30 стабилизируется . Можно подробней про GC ? У меня не Ла2 сервер. Запускал YOURkiT ничего подозрительного ,что вызывает такие жуткие фризы не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:40:05 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321например минимум =максимум и равно 8гб Для сервера это нормально. Какой смысл делать меньшую кучу на старте. Это только в клиентской JVM логично. Та стартует быстрее. 123321при запуске память ходит кругами Это какой-то новый технический термин? Что-то я с ним не знаком. Можно доступным языком охарактеризовать хождение кругами? Наполняется до отказа, потом GC всё очищает? И так в цикле? 123321 ,как будто уходит в виртуальную (свап отключен ) Чем это характеризуется? Как будто пишется на HDD? 123321 Можно подробней про GC ? http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html http://jaitechwriteups.blogspot.com/2006/08/how-to-enable-garbage-collection-gc.html 123321 У меня не Ла2 сервер. Это важно. 123321Запускал YOURkiT ничего подозрительного ,что вызывает такие жуткие фризы не нашел. Как выглядит активность потоков во время фризов? Как выглядит наполнение кучи во время фризов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:47:00 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz есть скайп ,icq .Хотел бы с вами связаться ,помощь оплачиваемая . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 16:19:12 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
при запуске память ходит кругами: Начинает использовать около 80% выделяемой ей памяти ,после чего резко понижается до 10-20% , то есть из выделяемой (мин-мах ) 8 гб начинает потреблять 2-3ГБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 16:21:29 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
Возможно стоит потюнить Eden и вообще увеличить область хранения young generation, надо смотреть что кушает столько памяти, вообще есть хорошая книжка Java Performance by Charlie Hunt - там целая глава по тюнингу GC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 16:59:03 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
еще можно посмотреть на SurviveRatio, возможно оно слишком маленькое... короче много косяков может быть. Начать вам надо с того чтобы запустить приложение с включенным логом GC, потом можете выложить сюда, и смотреть куда именно уходит память, и срабатывает GC толко на минорные сборки или общие тоже, возможно у вас какая то невообразимая мапа, которая не влазит в young и сразу промоутается в old - и следовательно вместо быстрой минорной сборки получаем медленную полную. Так же надо попробовать свичнуть на parallel GC в общем это надо на месте смотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 17:03:04 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321память очень странно кушается , например минимум =максимум и равно 8гб , при запуске память ходит кругами ,как будто уходит в виртуальную ( свап отключен )Выделено мною. Включите и, мопвашуять, не трогайте, то чего не понимаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 18:35:56 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
помогите подобрать оптимальные параметры. Погуглил почитал ,вот что в батник всунул: REM Non Heap memory set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=256m set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=1024m REM Set heap min/max to same size for consistent results set JAVA_OPTS=%JAVA_OPTS% -Xms6096m set JAVA_OPTS=%JAVA_OPTS% -Xmx10096m REM Garbage collection/Performance Options set JAVA_OPTS=%JAVA_OPTS% -Xnoclassgc set JAVA_OPTS=%JAVA_OPTS% -XX:TargetSurvivorRatio=90 set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=16 set JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=12 set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSIncrementalMode set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSIncrementalPacing set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSParallelRemarkEnabled set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCompressedOops set JAVA_OPTS=%JAVA_OPTS% -XX:UseSSE=3 set JAVA_OPTS=%JAVA_OPTS% -XX:+UseFastAccessorMethods REM Logging REM set JAVA_OPTS=%JAVA_OPTS% -verbose:gc REM set JAVA_OPTS=%JAVA_OPTS% -verbose:class REM set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps REM set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGC REM set JAVA_OPTS=%JAVA_OPTS% -XX:+TraceClassUnloading REM set JAVA_OPTS=%JAVA_OPTS% -Xloggc:gc.log Подобрать под: i-7 (sandybridge) 3400MHZ (8 потоков) 32GB RAM ДВА GS . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 22:31:25 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
Есть предложения,что подредактировать ,добавить ,убрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 14:51:11 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321Есть предложения,что подредактировать ,добавить ,убрать? Оптимальные настройки выявляются тестированием и анализом GC лога и гистограмм. Сказать однозначно что для конфигурации столько-то Гб, столько-то ядер существует одна оптимальная конфигурация - нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 14:54:50 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
ну хотя бы взглянув на теперешние параметры и на параметры ОЗУ ,можно ведь на глаз сказать ,что можно попробовать дописать ,увеличить ,убрать и тд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 16:53:42 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321ну хотя бы взглянув на теперешние параметры и на параметры ОЗУ ,можно ведь на глаз сказать ,что можно попробовать дописать ,увеличить ,убрать и тд Нет, нельзя. Настройки меняются в зависимости от нужд приложения и его поведения. Остальное второстепенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 16:55:06 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
ну тогда можете мне подробней рассказать про параметры: set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize= ? set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=? set JAVA_OPTS=%JAVA_OPTS% -XX:TargetSurvivorRatio=? set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=? set JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=? Гугл знаю ,читал ,но хотелось бы от вас услышать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 18:52:43 |
|
||
|
Тормоза Java на Windows.
|
|||
|---|---|---|---|
|
#18+
123321ну тогда можете мне подробней рассказать про параметры: set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize= ? set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=? set JAVA_OPTS=%JAVA_OPTS% -XX:TargetSurvivorRatio=? set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=? set JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=? Гугл знаю ,читал ,но хотелось бы от вас услышать. Еще раз вам повторю, тюнинг параметров стоит начинать только тогда, когда профилировщик показал что тормоза в GC, и когда вы выяснили в чем именно тормоза, единого волшебного рецепта нет, более того бездумное шпигование всякими хитрыми параметрами в большинстве случаев не то чтобы сведет все на нет - а только ухудшит положение. Вот эти параметры - REM set JAVA_OPTS=%JAVA_OPTS% -verbose:gc REM set JAVA_OPTS=%JAVA_OPTS% -verbose:class REM set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps REM set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGC REM set JAVA_OPTS=%JAVA_OPTS% -XX:+TraceClassUnloading REM set JAVA_OPTS=%JAVA_OPTS% -Xloggc:gc.log Вам помогут определить некоторые характеристики приложения, на основе анализа данных можно найти проблемное место, если сами пока не можете проанализировать, можете выложить лог GC сюда. После того как причина будет выявлена можно уже гадать и спараметрами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 19:39:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37787099&tid=2131823]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
59ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
102ms |
get tp. blocked users: |
3ms |
| others: | 344ms |
| total: | 582ms |

| 0 / 0 |
