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

Помогите Крашит каждый час-два (Последние два дня, хотя до этого такого не было)

Тема в разделе "Помощь", создана пользователем Padii, 6 июл 2019.

  1. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    утечки не могут крашить jvm, был бы просто oom. твой краш говорит о том, что ты выделил серверу памяти больше, чем есть в системе. уменьши -Xmx
     
  2. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    А чел выше прав. Век живи - век учись
     
  3. Nikolai_Faint

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

    Баллы:
    96
    Разве разновидность краша JVM это не OOM?
     
  4. Mr_Leordo95

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

    Баллы:
    61
    Имя в Minecraft:
    Mr_Leordo95
    Честно в чём именно проблема незнаю, пробуй сносить AutoSaveWorld у меня такая же проблема была.
     
  5. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    Out-Of-Virtual-Memory, который ты скинул, это не совсем OOM в его классическом понимании.
    OOM это когда ты получаешь OutOfMemoryError. но сама JVM продолжает жить. а Out-Of-Virtual-Memory, который как раз в логе, который скинул ТС, крашит JVM окончательно
     
  6. Автор темы
    Padii

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

    Баллы:
    66
    То есть по факту мне просто уменьшить оперативы в батнике...?
     
  7. Nikolai_Faint

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

    Баллы:
    96
    OOM это и виртуальная память, я опять ошибаюсь?
     
  8. Nikolai_Faint

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

    Баллы:
    96
    Не видел я чтобы после OutOfMemoryError сервер/приложение не крашилось окончательно. Можешь показать такие чудеса?
     
  9. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    у тебя 2 разных памяти. есть системная (виртуальная) память, которую жрет JVM, а внутри jvm она делится на другие пулы памяти (куча, стек, память для классов, и т.д.)
    конец системной памяти - краш. конец хипа - Error, который можно обработать и продолжить работу
    а я видел. самый простой пример - попробовать создать массив такого размера, что он не влезет в хип. ты получишь OutOfMemoryError, но приложение продолжит спокойно работать.
    но в общем случае конечно при получении OOM рестартить приложение, т.к. неизвестно какие потоки и куски кода поаффекчены
    а вот если как ТС выделить слишком много хипа серверу, то при попытке его потратить jvm крашится сразу и окончательно
    ну самое простое - да. можешь еще скинуть содержимое батника, мб ты там навыставлял других параметров кривых еще. и скажи заодно, сколько оперативки в компе, личный комп или выделенный сервер
     
    Последнее редактирование: 7 июл 2019
  10. Nikolai_Faint

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

    Баллы:
    96
    upload_2019-7-7_16-36-7.png
     
  11. deadanykey

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

    Баллы:
    96
    Я не знаю, насколько Вы правы и правы ли вообще, но Ваше разъяснение просто шикарное. Спасибо.
     
  12. Nikolai_Faint

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

    Баллы:
    96
    Объективность и вопросы:
    Память для классов, что? Мы же создаём экземпляр который будет находится в стеке, а его ссылка в памяти. Стек это разве не место для хранение объектов которые были отсортированы?
    Какой конец системной памяти? Это все-равно что сказать "Java полезла в нативку". Ведь к системной памяти Java без к примеру JNI добраться не сможет.
    Это я тож не понял. Какая разница какой ПК?
    Сервер бы просто не запустился если памяти было бы больше чем в системе. (Если мы говорим об флаге -XmsPARAM)
     
    Последнее редактирование: 7 июл 2019
  13. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    PermGen в гугл
    што, откуда вообще такое предположение?
    обычной системной памяти
    я не про обращение к системной памяти напрямую из кода. я про использование системной памяти jvm для увеличения хипа в пределах Xmx
    если пк домашний, значит на нем по дефолту сожрано дофига на систему, браузер, прочую фигню. поэтому можно не подрасчитать с Xmx. на машинке специально под сервер будет занято по минимуму.
    Xms - да. но мы говорим об Xmx.
     
  14. Nikolai_Faint

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

    Баллы:
    96
    upload_2019-7-7_17-29-54.png

    http://qaru.site/questions/449770/where-are-instance-variables-of-an-object-stored-in-the-jvm
    Здесь совсем другая ситуация.
     
  15. Автор темы
    Padii

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

    Баллы:
    66
    screen -dmS s java -Xms1024M -Xmx1536M -jar KCauldron-1.7.10-1492.152-server.jar
    echo "Launcher server started! Wait 20 second and write: screen -x S"
    exit 0
    Ах, да а как его модернизировать на рестарт?
     
  16. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    ну ваще это и так достаточно мало. или ты уже уменьшил? а сколько оперативки? 4 гига что ли?
    видимо уменьшил, т.к. на скрине выше сожрано 2.6 гига
     
  17. Автор темы
    Padii

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

    Баллы:
    66
    Ум
    Уменьшил) Можно поставить до 2гб? 4 гб оперативы... А как тут ещё в батнике рестарт запилить?
     
  18. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    смотря сколько свободной памяти. 4 гига это оч мало, и от них остается еще меньше. особенно если ты помимо сервера запускаешь клиент на том же компе.
    в гугле полно примеров батника с рестартом
     
  19. Hemol

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

    Баллы:
    76
    Можно, что-то вроде этого:
    while : ; do java -Xms1G -Xmx4G -jar ядро.jar; echo "Server restarting"; sleep 5; done
     
  20. Автор темы
    Padii

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

    Баллы:
    66
    Так мне в screen надо)
     

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