Вопрос Сколько памяти выделять?

ponchara333

Пользователь
Сообщения
41
Решения
1
Здравствуйте! Сервер на версии 1.20.6, стоит Velocity и 2 сервера Paper. Какие параметры для памяти указывать в start.sh, если сервер стоит на дедике с такими характеристиками: AMD® Ryzen™ 7 3700X, 8c/16t @3.60GHz, 64 GB, 2 x 500 GB NVME, 1 Gbps? Кто разбирается, пожалуйста, подскажите.
 
Решение
Код:
java -Xms8G -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M...
Код:
java -Xms8G -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -DPaper.IgnoreJavaVersion=true -DIReallyKnowWhatIAmDoingISwear -Dcom.mojang.eula.agree=true ФАЙЛ_СЕРВЕРА.jar nogui
Это будет использовать 8гб озу с оптимальными настройками сборщика мусора
Объединено

Кол-во ОЗУ можно повышать, но большое её количество может сделать сборщик мусора медленным, из-за чего сервер будет лагать. Повышать нужно постепенно, по нужде. Если сервер высоконагруженный, можно попробовать начать с 10-12 и, в худшем случае, поднять до 16. В общем, надо выделять примерно столько, сколько нужно на то, чтобы сервер работал
 
Последнее редактирование:

Код:
java -Xms8G -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -DPaper.IgnoreJavaVersion=true -DIReallyKnowWhatIAmDoingISwear -Dcom.mojang.eula.agree=true ФАЙЛ_СЕРВЕРА.jar nogui
Это будет использовать 8гб озу с оптимальными настройками сборщика мусора
Объединено

Кол-во ОЗУ можно повышать, но большое её количество может сделать сборщик мусора медленным, из-за чего сервер будет лагать. Повышать нужно постепенно, по нужде. Если сервер высоконагруженный, можно попробовать начать с 10-12 и, в худшем случае, поднять до 16. В общем, надо выделять примерно столько, сколько нужно на то, чтобы сервер работал
Спасибо вам! Отходя от темы, сколько слотов можно поставить на сервер с характеристиками описанными выше на открытии? Подскажите, пожалуйста
 
Спасибо вам! Отходя от темы, сколько слотов можно поставить на сервер с характеристиками описанными выше на открытии? Подскажите, пожалуйста
если на глаз прикинуть, около 50 вытянуть 8 гигов точно должны. но тут больше зависит от того, что за сборка, какие там плагины, что по оптимизации, много ли миров которые будут прогружены и тд
 
Здравствуйте! Сервер на версии 1.20.6, стоит Velocity и 2 сервера Paper. Какие параметры для памяти указывать в start.sh, если сервер стоит на дедике с такими характеристиками: AMD® Ryzen™ 7 3700X, 8c/16t @3.60GHz, 64 GB, 2 x 500 GB NVME, 1 Gbps? Кто разбирается, пожалуйста, подскажите.
У вас должно быть не менее 3 ГБ оперативной памяти для сервера 1.20.6 с поддержкой плагинов.
Окончательный расчет зависит от нескольких факторов:

Количество игроков
Пожалуйста, предположите, что каждые 5 игроков онлайн требуют еще 1 ГБ ОЗУ.
Таким образом, серверу с 50 игроками понадобится около 13 ГБ ОЗУ (это минимум!).

Размеры и сложность
Размер мира и сложность сборок увеличат требования к объему оперативной памяти.

Просмотр расстояния и других настройки
Большая дальность обзора означает, что вашему серверу придется обрабатывать гораздо больше данных одновременно для каждого игрока на вашем сервере.

Обратите внимание, что поверхность мира растет экспоненциально с расстоянием обзора. Это как с пиццей, 20-сантиметровая пицца не в два раза больше 10-сантиметровой, на самом деле она в 4 раза больше, потому что поверхность растет гораздо быстрее, чем размеры!
 
Назад
Сверху Снизу