Помогите Сервер потребляет всё больше и больше ОЗУ и крашится.

  • Автор темы Автор темы Ivainge
  • Дата начала Дата начала

Ivainge

Активный участник
Пользователь
Баллы
61
Ник в Minecraft
Ivainge
Попробую коротко описать проблему:
Сервер, на версии 1.17.1 стоит на панеле Pterodactyl, после перезапуска без игроков потребляет 1.5 гб ОЗУ, но заходят игроки, значение начинает рости и ни разу не снижалось. При онлайне ~15 человек за ~час потребление доходит до 8гб (выделено 8) и сервер падает. После рестарта аналогично.

Параметры запуска: java -Xms128M -Xmx8192M -Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar

Плагины: BungeeTabListPlus, Chatty, CoreProtect, CoreProtectTNT, DisableJoinMessage*, DiscordSRV, F3Name, FastChunkPregenerator, GSit, InventorySaver, IPWhitelist*, LuckPerms, OpenAudioMc, OpenInv, PlaceholderAPI, PremiumVanish, ProtocolLib, ServerUtils, SurvivalInvisiframes, UltimateAutoRestart, Vault
 
Ну начнем с того, что версии выше 1.12 сами по себе не оптимизированы от слова совсем. На счёт Pterodactyl, насколько я знаю он не выдает максимум который можно выжать из характеристик
 
Может быть ты вообще не оптимизировал сервер(основные файлы сервера)? При ванильных значениях он и больше будет жрать. У меня конечно немало урезано в данном плане, но зато при 30-40 игроках 6-8ГБ оперативки жрет.
 
Сервер может крашиться из-за то, что начинает жрать больше 8гб. тогда панель может крашнуть сервер. Это норма. Чекай логи.
И да, если у тебя на 15 игроков жрёт уже 8гб - ну значит, где-то хреновый плагин или сервак не настроен
 
java -Xms128M -Xmx8192M -Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar
Попытайся поставить java -Xms8192M -Xmx8192M -XX:+UseG1GC -XX:MaxGCPauseMillis=50 Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar nogui


И ядро лучше будет заменить на AirPlane. Они сделали оптимайз еще больше.
 
Последнее редактирование:
Попробую коротко описать проблему:
Сервер, на версии 1.17.1 стоит на панеле Pterodactyl, после перезапуска без игроков потребляет 1.5 гб ОЗУ, но заходят игроки, значение начинает рости и ни разу не снижалось. При онлайне ~15 человек за ~час потребление доходит до 8гб (выделено 8) и сервер падает. После рестарта аналогично.

Параметры запуска: java -Xms128M -Xmx8192M -Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar

Плагины: BungeeTabListPlus, Chatty, CoreProtect, CoreProtectTNT, DisableJoinMessage*, DiscordSRV, F3Name, FastChunkPregenerator, GSit, InventorySaver, IPWhitelist*, LuckPerms, OpenAudioMc, OpenInv, PlaceholderAPI, PremiumVanish, ProtocolLib, ServerUtils, SurvivalInvisiframes, UltimateAutoRestart, Vault
параметры запуска aikar юзай
 
Попробуй параметры запуска отсюда: https://mcflags.emc.gs/

Оптимизируй настройки. Можешь попробовать поменять ядро сервера на airplane https://airplane.gg/

Пересмотри плагины на сервере. Попробуй вместо -Xmx8192 поставить 7168 ( ровно 7 гб оперативки )

Возможно это тебе поможет, у меня была такая же проблема.
 
Последнее редактирование:
Последнее редактирование:
Попробую коротко описать проблему:
Сервер, на версии 1.17.1 стоит на панеле Pterodactyl, после перезапуска без игроков потребляет 1.5 гб ОЗУ, но заходят игроки, значение начинает рости и ни разу не снижалось. При онлайне ~15 человек за ~час потребление доходит до 8гб (выделено 8) и сервер падает. После рестарта аналогично.

Параметры запуска: java -Xms128M -Xmx8192M -Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar

Плагины: BungeeTabListPlus, Chatty, CoreProtect, CoreProtectTNT, DisableJoinMessage*, DiscordSRV, F3Name, FastChunkPregenerator, GSit, InventorySaver, IPWhitelist*, LuckPerms, OpenAudioMc, OpenInv, PlaceholderAPI, PremiumVanish, ProtocolLib, ServerUtils, SurvivalInvisiframes, UltimateAutoRestart, Vault
Сервер не должен так просто брать, да крашиться. Уверен, что самой системе хватает ОЗУ? Тем более, что Птеродактиль стоит. Попробуй выделить 7гб.
 
с чем крашится то? просто в логах эксепшены OutOfMemoryError или jvm падает оставляя hs_err чето там pid файл?
если второе, внутри написано про insufficient memory?
 
Сервер не должен так просто брать, да крашиться. Уверен, что самой системе хватает ОЗУ? Тем более, что Птеродактиль стоит. Попробуй выделить 7гб.
У меня на VDS 20 гб всего, 8гб для сервера выделено, в сумме около 12 гб потребления в максимуме на VDS.
 
Так по итогу хоть 1 совет результат дал?
Я пока ждал, мб ещё кто-то что-то новое напишет, ну с параметрами запуска надо поиграться, возможно помогут. А так ничего нового я не услышал.
 
Самое простое, что можно сделать - обновить все плагины и ядро до последней версии. Если это не поможет - временно поотключать различные плагины и пронаблюдать, повторяется ли проблема.
Это не помогло? Окей, поехали вникать в матчасть.

То, что использование памяти может какое-то время расти и не падать - это нормально. Память в джаве освобождается не моментально, а по мере необходимости очищается сборщиком мусора (GC, garbage collector). Может аж по несколько гигабайт за раз освобождать. Но если за час у тебя потребление ни разу не падает - это уже не норма. Раз в несколько минут/секунд должно стабильно очищать (даже на пустом сервере).
Если действительно не очищает - ищи проблему в GC.

Далее. Обрати особое внимание на крашрепорт. OutOfMemory может сообщать о совершенно разных проблемах. Вот тут подробно о них рассказано: https://habr.com/ru/post/117274/
Если не уверен, в чём конкретно проблема - заливай свой крашрепорт на https://pastebin.com и показывай нам.

И это не помогло? Ну, тогда только тяжёлая артиллерия.
Могу предложить создать дамп памяти и проанализировать его. Дамп памяти - файл, в котором будет находиться содержимое оперативной памяти в тот или иной момент. Если произошла утечка - увидишь большое количество ненужных объектов. Сам дамп можно создать как средствами самой Java так и, например, при помощи плагина spark со SpigotMC.
Подробнее об анализе дампа расписывать не буду - в интернете полно информации.
Скажу лишь, что для простоты можно сделать два дампа: сразу после запуска сервера и незадолго до падения, после чего сравнить количество объектов в этих дампах. Сам я подобное проворачивал при помощи jProfiler, но в других анализаторах тоже наверняка есть такая возможность.
 
Последнее редактирование:
Попробую коротко описать проблему:
Сервер, на версии 1.17.1 стоит на панеле Pterodactyl, после перезапуска без игроков потребляет 1.5 гб ОЗУ, но заходят игроки, значение начинает рости и ни разу не снижалось. При онлайне ~15 человек за ~час потребление доходит до 8гб (выделено 8) и сервер падает. После рестарта аналогично.

Параметры запуска: java -Xms128M -Xmx8192M -Dterminal.jline=false -Dterminal.ansi=true -jar tuinity.jar

Плагины: BungeeTabListPlus, Chatty, CoreProtect, CoreProtectTNT, DisableJoinMessage*, DiscordSRV, F3Name, FastChunkPregenerator, GSit, InventorySaver, IPWhitelist*, LuckPerms, OpenAudioMc, OpenInv, PlaceholderAPI, PremiumVanish, ProtocolLib, ServerUtils, SurvivalInvisiframes, UltimateAutoRestart, Vault
Вангую, что ты выделил больше чем свободно памяти в системе, выдели 7гб и пронаблюдай как будет.
Типичная ошибка новичков.
 
Вангую, что ты выделил больше чем свободно памяти в системе, выдели 7гб и пронаблюдай как будет.
Типичная ошибка новичков.
У меня на VDS 20 гб всего, 8гб для сервера выделено, в сумме около 12 гб потребления в максимуме на VDS.
 
Назад
Верх Низ