1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Вылетает сервер после 2-3 дней работы. Linux.

Тема в разделе "Помощь", создана пользователем Gixxer, 19 мар 2016.

  1. Автор темы
    Gixxer

    Gixxer Активный участник Пользователь

    Баллы:
    76
    Skype:
    hide_nick
    Уже не первый раз случается.. Работает сервак дня 2, а далее выключается и такое сообщение:

    Код:
    start.sh: line 1: 25246 Killed                  java -XX:ParallelGCThreads=8 -Xmx20G -Xms20G -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=50 -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=50 -XX:+AggressiveOpts -jar spigot.jar
    КрашРепорта нету
    Кривой скрипт запуска?
     
    Последнее редактирование: 19 мар 2016
  2. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    Кривой просто до жути, ты сделал себе утечку памяти:
    Код:
    -Xmx20G -Xms20G
    Под минимум отведена вся память, вот она вся и отжирается. Xms не надо указывать вообще, там по дефолту 256мб. Максималку тоже надо уменьшить, если процесс убит, значит была попытка съесть больше, чем доступно (в этом можно убедится глянув системный лог, но не помню какой именно, возможно messages). Должно оставаться хотя бы 200мб свободной памяти.

    20гб под один сервер это как-то совсем дико, что там такого тяжелого?
     
  3. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не, не утечка. Парень просто ку-ку, десу.
     
  4. Автор темы
    Gixxer

    Gixxer Активный участник Пользователь

    Баллы:
    76
    Skype:
    hide_nick
    Памяти 32гб всего
    Ребят.. Я не спорю. Я по джаве и всем этим запускаторам бум-бум.
    Подскажите как правильно)


    260-300 игроков. Думал лучше будет. Это мой первый опыт с таким онлайном. Скрипт скопировал со спигота из темы оптимизации. Но там было 8гб, а я и увеличил.
    Сервак работает нормально, без проседания тпс и тд. Но через дня 2-3 безпрерывной работы, утром, когда онайл около 100 бывают вылеты.
     
    Последнее редактирование: 19 мар 2016
  5. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    -Xms удали нафиг
    и чтобы вытянуть такой онлайн проц должен быть очень мощным
     
  6. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    какая разница что указано в xms? это не утечка и к крашу не приводит.
    скрипт запуска это одна строка, которую ты написал? где брал такие опции? вроде как достаточно -XX:+UseG1GC, не уверен, что остальные дают хоть какой-то полезный эффект. у тебя реально 32 гига на машинке и ничего больше не есть их, кроме этого сервера?
     
  7. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    java -server -d64 -Xincgc -Xmx20G -jar server.jar
    Проверь без агрессивных опций запуска. В основном, они нужны для слабых машин.
    -Xms не дает никакого эффекта, он тупо сразу выделяет все 20 гигов. Никакая это не утечка, учитывая что на сервере 32 гига оп.п., то ничего страшного.
     
  8. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    java -server -XX:+UseG1GC -Xmx16G -jar server.jar

    Давайте остановимся на этом варианте.
     
  9. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
    Краша нет, потому что, что-то убивает процесс явы. Пробуй строку запуска сделать как тебе привели выше, если не поможет, то это ограничения со стороны хостинга.
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Вдска? Тогда это нормально, ограничение срабатывает.
     
  11. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    Если в -Xms указать то же, что и в -Xmx, вся память сожрется и процесс отвалится из-за нехватки памяти. На этих граблях уже много новичков полегло.
    man java
     
  12. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Ты мне щас показал ман, как выделять память процессу java. Про опцию -Xmx и
    ни слова.
     
  13. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    боже я даже спорить не буду
    ну ладно буду. единственное, что плохо при xms == xmx это то, что если приложению не нужна вся эта память, оно ее все равно будет использовать. причем тут отвал процесса из-за нехватки памяти? если ему нужно, он сам будет расширять размер кучи, пока не достигнет xmx. если машинка позволяет выделить 20 гигов процессу и они больше никому не нужны, то почему бы их сразу не отдать?
    скорее всего тут прав alexandrage, система просто считает что процесс жрет слишком много и грохает его. или специально настроена, чтобы убивать прожорливые процессы. возможно у тебя на машинке ограничение есть, что нельзя жрать слишком много процессора.
    а память тут наверно совсем не при чем. заканчивание памяти приводит либо к OOM, если куча слишком мала, либо к краху jvm со всеми логами и дампами, если в системе в принципе закончилась оперативка
     
  14. Автор темы
    Gixxer

    Gixxer Активный участник Пользователь

    Баллы:
    76
    Skype:
    hide_nick
    Дедик
    Обычный чистый дедик. Установлена Java 8 и всё.
    И почему он киляет их через 2-3 дня? Тут скорее всего много всяких лишних параметров, возможно даже кривые есть)
    Можно подробнее про
    -server
    и
    -XX:+UseG1GC (на сколько знаю это сборщик мусора)
     
    Последнее редактирование: 20 мар 2016
  15. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    Да, забыл про стактрейсы. Но это все равно не эффективно, какая вообще должна быть сборка чтобы ей 20гб надо было?

    /var/log/messages
    там должна быть инфа про килл
     
  16. MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Такая же проблема. На сервер выделено 4 GB. (java -jar -Xmx4G Xms4G -jar spigot.jar). Сервер постепенно, даже при 0-5 онлайна сжирает память. На следующий день уже съедено 5 ГБ, а уже через неделю он совсем падает. (Просто пишет Killed) В то же время, Essentials этого не показывает:
    Код:
    [23:25:47 INFO]: Максимум памяти: 4 071 MB.
    [23:25:47 INFO]: Выделено памяти: 4 071 MB.
    [23:25:47 INFO]: Свободной памяти: 2 564 MB.
     
  17. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
    Killed - это не падает, а что-то\кто-то завершает процесс, например у тебя VDS, и хост считает что ты нагружаешь соседей и убивает твой процесс.
     
  18. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    скорее всего это oom-killer, как у ТС, но почему он срабатывает так и осталось загадкой
    http://www.go.kg/work/oom-killer.html
    http://www.go.kg/work/oom-killer-2.html
     
  19. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
  20. InterVi

    InterVi Старожил Пользователь

    Баллы:
    173
    Где? ТС говорил что дедик, какое нафиг ограничение. В лс выяснили по логам, что линуксовый oom-killer. Во втором случае симптомы те же, иначе был бы краш-репорт.
     

Поделиться этой страницей