Помогите Вылетает сервер. "unable to create new native thread"

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

slavik123123123

Старожил
Пользователь
Баллы
143
Ник в Minecraft
Leymooo
Код:
---- Minecraft Crash Report ----
// This doesn't make any sense!

Time: 29/07/15 12:34
Description: Exception in server tick loop

java.lang.OutOfMemoryError: unable to create new native thread
    at java.lang.Thread.start0(Native Method)
    at java.lang.Thread.start(Thread.java:714)
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:950)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1368)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:364)
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:722)
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:653)
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:556)
    at java.lang.Thread.run(Thread.java:745)

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

Код:
#!/bin/sh
            BINDIR=$(dirname "$(readlink -fn "$0")")
            while true
            do
                rm /home/Servers/AuthMe/plugins/CommandSync/data.txt
                java -Dfile.encoding=utf-8 -Xincgc -server -Xmx2200M -Xms100M -XX:MaxPermSize=640M -jar Spigot.jar nogui -o true
                echo "To stopping the server, press the key combination Ctrl + C!"
                echo "Reboot:"
                for i in 1
                do
                    echo "$i..."
                    sleep 1
                done
                rm /home/Servers/AuthMe/plugins/CommandSync/data.txt
                echo "Reboot complete!"
            done
 
Код:
java.lang.OutOfMemoryError
Думаю, всё понятно.
 
ты читать умеешь? сервер бывает вылетает когда свободно ешё 4 гб озу. Я же написал что памяти хватает
а ты читать умеешь? я лично больше верю тому, что написано в краш репорте, чем тебе. у сервера не может быть 4 гб свободно, так как ты ему выделил лишь 2. у тебя хоть 100 гб озу может быть свободно, но если сервер занял все выделенное ему место, будешь видеть подобные краши.
 
а ты читать умеешь? я лично больше верю тому, что написано в краш репорте, чем тебе. у сервера не может быть 4 гб свободно, так как ты ему выделил лишь 2. у тебя хоть 100 гб озу может быть свободно, но если сервер занял все выделенное ему место, будешь видеть подобные краши.
А ты умеешь? Я написал что падают РАНДОМНЫЕ. А это значит у меня не один сервер. У меня на одном было выделно 10 ГБ. А он упал когда было использовано токо 6 гигов.
Тот сервер который я привел в пример. Он работал гдето 2 часа и упал. Ему выделено 2 гб. Когда я написал сюда сервер уже работал полтора часа и сейчас почти 3 часа прошло. Получается 4 с половиной часов сервер работает. И этот сервер сейчас использует 408 мб. Тогда он работал 2 часа и упал. Странно да что он упал когда для него доступно ещё более 1гб.
Ну давайте говорите что у него закончилась память.....
Сейчас упало одновреммено 4 сервера с этойже ошибкой. У всех было больше 1 гига свободного. И на одном больше 2 гб.
Я реально не понимаю в чём проблема.
Как я понял серверу не хватает потоков, а не памяти. А увеличить максимальное количество потоков у меня не получается.
 
Как определял свободную память?
Есть такая утилита, как atop. Очень помогает в мониторинге процессов.
 
Как определял свободную память?
htop
/lag

Как я понял то это изза того что сервер не может создать новый поток. Я попробовал увеличить максимальное количество потоков. Посмотрю что из этого выйдет.
UP
Опять началось.
 
htop
/lag

Как я понял то это изза того что сервер не может создать новый поток. Я попробовал увеличить максимальное количество потоков. Посмотрю что из этого выйдет.
UP
Опять началось.
Покажи результат команды
free -m
 
Код:
root@12312333:~# free -m
             total       used       free     shared    buffers     cached
Mem:         32067      16651      15416          0         66        704
-/+ buffers/cache:      15880      16186
Swap:         1021       1021          0

Как я понял это изза того что забилась swap память?
 
А погуглить? И вообще ошибка Unable to create new native thread говорит сама за себя.
 
  1. Это кошмар. CraftBukkit использует кэширующий пул потоков => позволяет постоянно создавать новые потоки, не ограничивая их кол-во => они очень быстро съедают память.
  2. Сами по себе потоки не будут создаваться => их создаёт какой-то плагин => ищите плагин, активно использующий Bukkit шедулер.
  3. Стоит попросить разработчиков ядра использовать фиксированный пул потоков.
 
  1. Это кошмар. CraftBukkit использует кэширующий пул потоков => позволяет постоянно создавать новые потоки, не ограничивая их кол-во => они очень быстро съедают память.
  2. Сами по себе потоки не будут создаваться => их создаёт какой-то плагин => ищите плагин, активно использующий Bukkit шедулер.
  3. Стоит попросить разработчиков ядра использовать фиксированный пул потоков.
И как его находить?
Просто вылетает уже такой сервер.
109873fc9d391cc957abe4dcc60e85a0.png

Начали делать сервера BW. Без них всё нормально. Стоит их начать запускать, то начинаются вылеты.

И как понять что плагин использует этот шедулер. Какой код должен быть у плагина?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ