Войти или зарегистрироваться

Туториал Ускорение работы Java [Аргументы]

  • Автор темы Автор темы Starr
  • Дата начала Дата начала
-Xincgc
Enables incremental garbage collection. This option was deprecated in JDK 8 with no replacement.
По факту то же XX:UseConcMarkSweepcGC + XX:CMSIncrementalMode.
Кому не нужно, можно убрать. Все равно он не будет работать, если указан другой сборщик мусора.
 
Последнее редактирование:
После добавления любого сборщика мусора на сервере иногда игроки зависают (стоят на одном месте), но на самом деле они бегают ломают блоки далеко уже от этого места и их не кто не видет.
 
После добавления любого сборщика мусора на сервере иногда игроки зависают (стоят на одном месте), но на самом деле они бегают ломают блоки далеко уже от этого места и их не кто не видет.
Я писал, что эту штуку лучше не трогать. Экспериментировать надо, чтобы добиться лучшей производительности.
 
Я писал, что эту штуку лучше не трогать. Экспериментировать надо, чтобы добиться лучшей производительности.
А какие параметры ты посоветуешь для сервера (java 8) поставить?
 
А какие параметры ты посоветуешь для сервера (java 8) поставить?
Только заместо -Xincgc использовать -XX:+UseG1GC, остальное система сама подберет.
AggressiveOpts, UseFastAccessorMethods, UseBiasedLoking, UseCompressedOops, UseInterpreter, RewriteFrequentPairs.
 
Только заместо -Xincgc использовать -XX:+UseG1GC, остальное система сама подберет.
AggressiveOpts, UseFastAccessorMethods, UseBiasedLoking, UseCompressedOops, UseInterpreter, RewriteFrequentPairs.
Код:
java -server -Xmx12G -Xms512M -Xmn128M -XX:SharedReadOnlySize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:MaxGCPauseMillis=2500 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -Dfile.encoding=UTF-8 -Dfml.queryResult=confirm -cp Launcher.jar:LauncherAuthlib.jar:cauldron1.7.10.jar cpw.mods.fml.relauncher.ServerLaunchWrapper

И я не нашёл что такое -XX:+EliminateLocks
 
Код:
java -server -Xmx12G -Xms512M -Xmn128M -XX:SharedReadOnlySize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:MaxGCPauseMillis=2500 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -Dfile.encoding=UTF-8 -Dfml.queryResult=confirm -cp Launcher.jar:LauncherAuthlib.jar:cauldron1.7.10.jar cpw.mods.fml.relauncher.ServerLaunchWrapper

И я не нашёл что такое -XX:+EliminateLocks
В EliminateLocks ошибся, это называется EliminateBlocks. И работает только в дебаг-версии явы.

P.S. Строка запуска у тебя заточена больше под яву 7.
 
В EliminateLocks ошибся, это называется EliminateBlocks. И работает только в дебаг-версии явы.

P.S. Строка запуска у тебя заточена больше под яву 7.
Не мог бы ты её заточить под яву 8? Или сказать то что надо изменить?
И в чем секрет поставил твои аргументы для клиента и оперативы в 2 раза меньше жраться началось на сборке 200+ модов
 
Жаль, что данные параметры не смогут понизить ОЗУ примерно вот так:
qVrw1N9tNOY52X.jpg
 
Код:
java -server -Xmx12G -Xms512M -Xmn128M -XX:SharedReadOnlySize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:MaxGCPauseMillis=2500 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:-UseGCOverheadLimit -Dfile.encoding=UTF-8 -Dfml.queryResult=confirm -cp Launcher.jar:LauncherAuthlib.jar:cauldron1.7.10.jar cpw.mods.fml.relauncher.ServerLaunchWrapper

И я не нашёл что такое -XX:+EliminateLocks
Код:
java -server -Xmx12G -Xms512M -Xmn128M  -XX:MaxGCPauseMillis=100  -Dfile.encoding=UTF-8 -Dfml.queryResult=confirm -cp Launcher.jar:LauncherAuthlib.jar:cauldron1.7.10.jar cpw.mods.fml.relauncher.ServerLaunchWrapper
 
Использовал данные твики. Только по "датчикам" процессор стал больше нагружаться, или я что-то не так делаю ?
 
Использовал данные твики. Только по "датчикам" процессор стал больше нагружаться, или я что-то не так делаю ?
В разных случаях по-разному. Процессор может нагружаться даже больше, но скорость работы сервера может вырасти.
 
В некоторых случаях, лучше ничего не "оптимизировать". Java 8 хороша, если вы не разбираетесь в аргументах - не лезьте. О аргументах можно почитать на сайте openjdk.
Если хотите оптимизировать так, чтобы совсем-совсем памяти не занимало - профайлер в руки вам!
Для windows есть jvisualvm(входит в состав jdk)
 
В некоторых случаях, лучше ничего не "оптимизировать". Java 8 хороша, если вы не разбираетесь в аргументах - не лезьте. О аргументах можно почитать на сайте openjdk.
Если хотите оптимизировать так, чтобы совсем-совсем памяти не занимало - профайлер в руки вам!
Для windows есть jvisualvm(входит в состав jdk)
jvisualvm и на линухе есть. Если устанавливать оракловский jre.
 
Составил себе строку запуска и теперь вылазит ошибка.

Код:
java -Xincgc -server -Xmx712M -Xms512 -Xmn128 -XX:SharedReadOnlySize=30M XX:+UseG1GC -Dfile.encoding=UTF-8 spigot.jar -jar nogui
upload_2015-11-7_10-27-2.png
 
Составил себе строку запуска и теперь вылазит ошибка.

Код:
java -Xincgc -server -Xmx712M -Xms512 -Xmn128 -XX:SharedReadOnlySize=30M XX:+UseG1GC -Dfile.encoding=UTF-8 spigot.jar -jar nogui
Посмотреть вложение 37440

"Too small initial heap" - недостаточно начальной памяти скорее всего. Сделай минимальное кол-во памяти 256 а максимальное 1 ГБ. или же повысь максимальное кол-во памяти.
 
Прошу рассказать про этот параметр более подробно.
Как я понял, он позволяет запустить java не на одном ядре, а на нескольких?
Это не параметр, а скорее команда линуха.
Да, выделяет все ядра под процесс кубача.

В принципе, сервер и так использует несколько ядер, но только для сборщика мусора, остальное работает в 1 потоке.

Это скорее нужно для многоядерных процов, если ты хочешь выделить под майн какое-нибудь определенное ядро, или несколько отдельных ядер.
 
Это скорее нужно для многоядерных процов, если ты хочешь выделить под майн какое-нибудь определенное ядро, или несколько отдельных ядер.
Другими словами, если у меня процессор с 8 ядрами по 3.5 ГГц каждое, то использовав этот параметр, я смогу запустить ОДИН сервер в два потока т.е. на два ядра и общая производительность в ГГц также удвоится?
 
Назад
Верх