Помогите Забивается оперативная память, после чего хост перезагружает сервер.

Статус
Закрыто для дальнейших ответов.

Loker541

Активный участник
Пользователь
Баллы
76
Ник в Minecraft
Moveton
Добрый вечер.

Держу самый обычный ванильный сервер, практически без плагинов. Однако, спустя какое то время, даже когда онлайн меньше десяти человек, оперативная память забивается на 8+ гб, после чего хост перезагружает сервер. ( Т.к у меня тариф какой то древний амд + 8 гб оперативы)

Параметры запуска сервера:

"/opt/java/jdk1.8.0_221/bin/java" -server -Xmx7168M -Xms1024M -Dfile.encoding=UTF-8 -Djline.terminal=jline.UnsupportedTerminal -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -DIReallyKnowWhatIAmDoingISwear -jar "name_server.jar"

Список плагинов:

Paper on 1.16.5-R0.1-SNAPSHOT: MSGSystem 1.0; Chunky 1.2.54; Suicide 1.0; LoginSecurity 3.0.2; PlaceholderAPI 2.10.9; UltimateAutoRestart Build 43; ClearLag 3.2.2; PlugMan 2.2.2; AutoMessage 2.5.5; RandomSpawn 1.3.1; IllegalStack 2.2.0e; BotSentry 8.8.1-ARES; HeapDump 1.4.0; ActionHealth 3.5.2; BlockSyntax 1.1.0-SNAPSHOT; ProtectOp 1.0; SpigotPing 2.6; PlayerTPS 1.0-SNAPSHOT; PingMOTD 1.2.0; ViaVersion 3.2.2-SNAPSHOT; NBTAPI 2.7.1; HideStream 3.10; CmdBlock 1.5.4; ViaBackwards 3.2.0; ViaRewind 1.5.3; LuckPerms 5.3.3; ProtocolLib 4.6.0; SkinsRestorer 14.0.2; Vault 1.7.3-b131; WorldEdit 7.2.5+57d5ac9; Matrix 6.0.4; DeathMessages 1.3.0; TAB 2.8.10; ChatEx 2.7.1

Я испробовал уже все возможные варианты.

Карта прогружена полностью 10к на 10к, половина карты прогружена плагином WorldBorder, остальная половина плагином Chunky

Заранее спасибо за помощь.
 

Буду курить инструкцию.

В том и прикол, что у меня уже установлен HeapDump

Но я совершенно ничего не понял из того, что увидел когда смог открыть его : D

Возможно у кого то из форумчан была подобная ситуация и они обошлись как то без этого анализа HeapDump

К слову, меня удивило, что размер этого дампа был больше одного гигабайта.
 
ну у меня никогда утечек не было сам щас проюзал heapdump сразу после загрузки сервера.

аналайзер дал то что на скрине.

по идеи если в каком то классе есть утечка в строчках Retained Heap будет огроменная циферка.

HDB например 22 мб. Что само собой понятно при таком большом кол-ве строчек с идами голов
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    63,4 КБ · Просмотры: 38
Последнее редактирование:
Т.к у меня тариф какой то древний амд + 8 гб оперативы
Тариф на 8 гб.
оперативная память забивается на 8+ гб, после чего хост перезагружает сервер
Сервер может отжирать ещё больше, чем указано в xmx, видал даже на 1.5 гига + учёт, что системе тоже надо.
Выделяй ещё меньше.
Не хватает памяти, вот и вырубает процесс.
 
Так же советую поставить вот эти флаги запуска: https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
Этот плагин: https://www.spigotmc.org/resources/entitytrackerfixer-fix-1-14-4-1-16-2-entitytick-lag.70902/
И сделать вот такое в конфиге ядер: https://www.spigotmc.org/threads/guide-server-optimization⚡.283181/

UPD1: посмотрел список плагин. Куча лишних плугов и нн плагов, которые я вижу впервые. Они и могут быть причиной лагов

А что конкретно делает этот плагин?)

>посмотрел список плагин. Куча лишних плугов и нн плагов, которые я вижу впервые. Они и могут быть причиной лагов

Какие плагины считаете лишними и почему?

Был бы благодарен развернутому ответу, спасибо)
 
Лишние:
- Spigotping
- PlayerTPS

Можно в TAB вывести инфу без этих плагинов placeholder"ами
%player_ping%
%server_tps_1_colored%
 
1. Последние версии майна имеют огромную проблему с обработкой сущностей (все сущности обрабатываются на одном потоке, соответственно, при большом количестве сущностей проц сходит с ума и из-за этого падает тпс).
Есть два основных фикса: 1. Иметь процессор, который силен в однопотоке (обычно это райзены r9 и r7) 2. Ограничить сущностей, чтобы освободить этот поток под игроков
Этот плагин как раз таки позволяет майну не обрабатывать сущности, которые находятся далеко от игроков. + ты сказал, что у тебя серв на старой рязане. Вот этот один бедный поток обрабатывает каждую сущность во всех мирах

2. С плагинами тупанул чутка. Набор совсем не стандартный) Но Loga выше показал лишние плагины, с ним полностью солидарен

Еще раз продублирую советы:
- Оптимизировать конфиги ядер. Ссылка выше
- Выделить хотя бы 1.6гб под систему (если линукс, желательно дебиан или убунту). А если у тебя еще и шиндовс, то тут только Бог поможет..
- Поставить плагин. Ссылка выше
- Использовать продвинутые флаги запускатора. Что они делают? В jvm есть так называемый garbage collector (сборщик мусора), вот эти флаги как раз таки организовывают более правильный сбор мусора. Настоятельно рекомендую их к использованию. Ссылка опять же выше
- прислать мне тайминги. Без них бесполезно пытаться искать причину. Продублирую: timings on и когда будут лаги timings paste (в консоли)

Окей, спасибо.

Плагин воткнул, конфиги еще раз пересмотрел и оптимизировал по гайду что ты скинул.

А вот с флагами не получится, потому что у меня не vds, а служба поддержки хостинга не хочет менять флаги запуска.

В конце этого месяца, сервер будет на домашнем хосте с нормальным железом

Единственное, меня скорее всего смогут легко задудосить.

Вот кстати да, как безопасно хостить сервер у себя дома?

Чтобы в случае дудосинга я не остался без интернета?)
 
Окей, спасибо.

Плагин воткнул, конфиги еще раз пересмотрел и оптимизировал по гайду что ты скинул.

А вот с флагами не получится, потому что у меня не vds, а служба поддержки хостинга не хочет менять флаги запуска.

В конце этого месяца, сервер будет на домашнем хосте с нормальным железом

Единственное, меня скорее всего смогут легко задудосить.

Вот кстати да, как безопасно хостить сервер у себя дома?

Чтобы в случае дудосинга я не остался без интернета?)
Дома? Либо дорого, либо сложно. Любой провайдер моментально вырубит интернет тебе в случае даже минимальной атаки. Можно обойтись внешними защитами, которые будут базовый трафик пропускать через себя. Есть один неплохой вариант, который в теории может помочь:
нужно поставить прокси на хостинг с хорошей защитой (ovh), от него настроить ip tunneling к своему домашнему серверу. Важно очень тщательно скрывать айпи домашнего компьютера. В общем, я такой себе системный администратор, ищи информацию подробнее сам.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ