Вопрос Стремительно заполняется ОЗУ и сервер падает

qwytr3

Пользователь
Сообщения
10
Добрый вечер!
Не знаю к кому еще обратиться, свои силы и эксперименты исчерпаны.

Моя проблема заключается в том, что после захода хотя бы 1 игрока на сервер стремительно начинает забиваться ОЗУ сервера и в итоге он падает, даже если просто зайти и ничего не делать - тупо стоять.
Если запустить сервер и никто на него заходить не будет, то память не будет забиваться и он проработает до того момента пока не зайдет игрок (даже я) и на начнет данная проблема.

Проблема появилась хаотично, все работало штатно и исправно и вдруг появилась данный "жор", "утечка" памяти. Изначально был хостинг майкрафтхостинг но я его сменил из-за того что думал дело в нем (не помогло), нынешний владелец хостинга даже пытался помочь и разобраться но не смогли.

Вводные данные:
AMD Ryzen 7 5800X 2core (300%)
8gb Ram + 500 swap
Прикрепляю флаги запуска.
Профайлер спарка -

Были попытки отключения нескольких плагинов в т.ч. Terra и ее сгенерированный мир. было сменено три ядра PlazmaBukkit, Paper, Purpur + изначально была версия 1.20.1 я ее перевел на 1.20.2 обновив и плагины - не помогло.

Могу подметить одно, когда нагружается память и почти достигнут предел, при вводе команды /ram она очищается и дальше какое-то время снова начинает накапливаться память. Хотя она и так чистится (при просмотре /rambar) но в итоге заполняется и сервер падает.
 

Вложения

  • Screenshot_1.png
    Screenshot_1.png
    22.6 KB · Просмотры: 64
Профайлер спарка -
Нужно было записывать потребление памяти, а не процессора. + Ни кто не запрещал сделать так: Отключать плагины по одному, пока утечки не прекратятся
 
Нужно было записывать потребление памяти, а не процессора. + Ни кто не запрещал сделать так: Отключать плагины по одному, пока утечки не прекратятся
как записать потребление памяти?
Объединено

так естественно что машина будет убивать сервер, ты же все 8гб выделил и ничего не оставил самой системе
Владелец хоста сказал что ей хватает и с его стороны все ок (java потребление он выставил 90% + еще свап добавил для системы)
 
как записать потребление памяти?
Любой нормальный профайлер позволяет, загугли не маленький. тот же спарк (скорее всего, не знаю точно, тк я использую другие инструменты).
Даже бесплатный VisualVM имеет такую опцию
 
AMD Ryzen 7 5800X 2core (300%)
Владелец хоста сказал что ей хватает и с его стороны все ок (java потребление он выставил 90% + еще свап добавил для системы)
ты больше таких владельцев барыг ovh слушай, поставь вместо -Xmx8000 -Xmx7000 и посмотри на результат
 
ты больше таких владельцев барыг ovh слушай, поставь вместо -Xmx8000 -Xmx7000 и посмотри на результат
уже, но java не должна пожирать все ГБ когда ты афк стоишь ничего не делая)
Объединено

Любой нормальный профайлер позволяет, загугли не маленький. тот же спарк (скорее всего, не знаю точно, тк я использую другие инструменты).
Даже бесплатный VisualVM имеет такую опцию
я делал, как его прочитаьь если я не шарю за джава классы?
 
то что память заполняется полностью под выделенную в флагах - это нормально, так работает джава. но у тебя из-за этого не остается памяти для системы, из-за этого линукс убивает процесс
Объединено

уже, но java не должна пожирать все ГБ когда ты афк стоишь ничего не делая)
ого, вот как. ну почитай темы на стаковерфлоу что-ли, не знаю
 
то что память заполняется полностью под выделенную в флагах - это нормально, так работает джава. но у тебя из-за этого не остается памяти для системы, из-за этого линукс убивает процесс
значит в чем-то утечка, как мне найти эту утечку? Кто может за платно прочитать дамп и сказать вот в этом причина
 
так естественно что машина будет убивать сервер, ты же все 8гб выделил и ничего не оставил самой системе
Это не нормально что сервер сьедает 8гб оперативки, ало, если выделишь меньше - тупо быстрее закочится память.
Моей Elc-е на VM от IBM для комфортной работы нужно меньше 512мб оперативки, ты о чем?
 
Подскажите кто может прочитать дамп если я его сделаю спарком? Я не шарю за джаву и классы которые там пишутся... я не пойму что норма а что нет
Объединено

то что память заполняется полностью под выделенную в флагах - это нормально, так работает джава. но у тебя из-за этого не остается памяти для системы, из-за этого линукс убивает процесс
Объединено


ого, вот как. ну почитай темы на стаковерфлоу что-ли, не знаю
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Вот скоро будет пик, я зашел один на сервер и стою тупо афк в прогруженном мире, я уверен что он упадет
 
Моя Elca на VM от IBM жрет меньше 512мб оперативки, ты о чем
ты молодец, в каждой теме об этом трубить будешь?
жрет приложение - майнкрафт сервер, оно так работает и это абсолютно нормально. для очистки памяти и используют флаги запуска

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

Вам необходимо зарегистрироваться для просмотра изображений-вложений

Говорю запусти свой сервак с любым нормальным профайлером. Там все интуитивно понятно и найдешь что-то подобное или даже лучше (visual vm не дает иерархии увы)
Объединено

для очистки памяти и используют флаги запуска
Ты вообще знаешь как работает vm? не неси бред
 
Вот это профайлер классов подойдет, может кто сказать что жрет?
Да подойдет. собери больше аналитики, хотя-бы на 2-4гб, ничего не выделяется. (200 мб byte[] это чанки)
 
Да подойдет. собери больше аналитики, хотя-бы на 2-4гб, ничего не выделяется. (200 мб byte[] это чанки)
Делаю дамп и память очищается сразу... Вот было 6 гб забито, я прописал /spark heapsummary и она очистилась и получилось это..
 
Последнее редактирование:
И теперь вопрос .. может быть всему виной спарк? Включаешь аналитику в фоне или подобное
после перезагрузки ничего не делаю со спарком
спасибо за помощь, буду пробовать дальше искать причину
 
спасибо за помощь, буду пробовать дальше искать причину
сервер сам по себе не крашнится, если даже достигнет лимита по выделенной памяти. процесс сервера убивает именно система из-за нехватки общей памяти
хотя если это дрянная панелька - то да, там может вылетать out of memory, если у тебя в директории сервера есть краш-логи hs_err_pid - выделяй меньше озу серверу и оставляй больше на систему
правда я никогда не видел, чтобы какой-либо из чистых дистрибутивов линукса жрал больше 1-1.5гб памяти
Объединено

и тут уже встает вопрос о честности этого панельного хостинга (если он таковой) и не дурят ли тебя с ресурсами. вывод комплектующих можно любой сделать
 
и тут уже встает вопрос о честности этого панельного хостинга (если он таковой) и не дурят ли тебя с ресурсами. вывод комплектующих можно любой сделать
Реальная стоимость хоста +- такая как у ru-vds. Дешевле - сдавать в аренду эквивалентное железо - себе в убыток.
 
Назад
Сверху Снизу