ndhns

Пользователь
Сообщения
4
Добрый день!

У меня на сервере есть проблема. Когда играет 7 человек, сервер доходит до пика своего ОЗУ и перезагружается.
У меня сервер с 5 ГБ ОЗУ, PaperSpigot 1.8.8, 2 ядра.
Плагины: DriveBackupV2, PlaceholderAPI, PlayTime, NametagEdit, ClanSystem, MultiWorld, ViaVersion, FrameProtect, WorldEdit, ClearLag, AutoMessage, spark, WorldBorder, ProtectOp, ProtocolLib, HamsterAPI, AntiCMD, PlayerControl, ItemCases, PermissionsEx, ExploitFixer, Tab, PingMOTD, Vault, ChatGames, HolographicDisplays, PlayerPoints, Marriage, WorldGuard, AAC, SkinsRestorer, ChestCommands, MyCommand, Chatty, PacketLimiter, Essentials, AdvancedBan, Jobs, TNTRun, InfoBoardReborn, BedwarsRel, Citizens, AdvancedRandomTeleport, AdvancedAchievements, TimeIsMoney, WGExtender, HolographicExtension, AntiRelog, Duels, EssentialsSpawn, TitleManager, zAuctionHouseV3, AuthMe, ChatGuard
Ранее думал, что есть утечка памяти в плагинах, проверял, всё ок, да и качал с оффициалки.
Было ядро Spigot, поменял на PaperSpigot - проблема не решилась.
spark инфу не даёт (не понятно почему такая нагрузка).
Понял, что проблема в флагах запуска.
У моего хостинга 4 варианта запуска.
JavaScript:
1. java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s "-jar server.jar" || printf %s "@unix_args.txt" )
JavaScript:
2. java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 $( [[ ! -f unix_args.txt ]] && printf %s "-jar server.jar" || printf %s "@unix_args.txt" )
JavaScript:
3. java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 $( [[ ! -f unix_args.txt ]] && printf %s "-jar server.jar" || printf %s "@unix_args.txt" )
JavaScript:
4. java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:+PerfDisableSharedMem -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:+UseNUMA -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:NmethodSweepActivity=1 -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:AllocatePrefetchStyle=3 -XX:+AlwaysActAsServerClassMachine -XX:+UseTransparentHugePages -XX:LargePageSizeInBytes=2M -XX:+UseLargePages -XX:+EagerJVMCI -Dgraal.TuneInlinerExploration=1 -Dgraal.LoopRotation=true -Dgraal.OptWriteMotion=true -Dgraal.CompilerConfiguration=enterprise $( [[ ! -f unix_args.txt ]] && printf %s "-jar server.jar" || printf %s "@unix_args.txt" )

Естественно, так как у меня Java 8, запуск работает только на 1 варианте самом дефолтном без чистильщика (другие варианты = сервер не запускается)
сайт flags тоже даёт неактуальные настройки для моего сервера.

Мы с поддержкой пробовали ещё варианты запуска. Сервер запускался сразу с 4.7/5 ГБ и естественно при любом действии игрока - сервер перезагружался.
JavaScript:
 java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s "-jar server.jar" || printf %s "@unix_args.txt" )

Я знаю, что тут есть много экспертов в такой теме, может быть посоветуете какие-то настройки флагов для запуска сервера, чтобы память не улетала с 7 игроками в перезагрузку и чистилась? Так как при первом варианте запуске (стартует с 1.6 ГБ), но она только растет и не уменьшается, пока не перезагрузишь сервер.
 
При варианте запуска 2,3, 4 выдаёт примерно такую штуку

Код:
container@yourcontrol~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 137
[Pterodactyl Daemon]: Out of memory: true
[Pterodactyl Daemon]: Checking server disk space usage, this could take a few seconds...
[Pterodactyl Daemon]: Updating process configuration files...
[Pterodactyl Daemon]: Ensuring file permissions are set correctly, this could take a few seconds...
container@yourcontrol~ Server marked as starting...
[Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete...
[Pterodactyl Daemon]: Finished pulling Docker container image
container@pterodactyl~ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (Temurin)(build 25.312-b07, mixed mode)
container@pterodactyl~ java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -jar server.jar
Unrecognized option: --add-modules=jdk.incubator.vector
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
container@yourcontrol~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Aborting automatic restart, last crash occurred less than 60 seconds ago.
 
Не используй стандартный Paper на этой версии, он слишком уязвимый и слабый. Вот ядро, которое спокойно держит 500 игроков на одном серваке с минимальным потреблением рама (3-4гб на активном сервере). У тебя так же сборка слишком перегружена.

Для серверов Мини игр выделяют от 128мб до 256мб. Но зависит от оптимизации и мини игры. Для активных серверов надо значительно больше.

Есть ещё такой очень хороший вариант, но Sportpaper доказал свою стабильность на серверах под 15к онлайна.

Флаги ставь обычные Aikar. Больше не требуется. Хотя в некоторых случаях они даже не нужны на этой версии, читай документацию ядер по этому поводу.
 
Последнее редактирование:
Назад
Сверху Снизу