Seite 1 von 1

alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 10:47
von Homerlator
Hallo ich habe ein Problem ein Spigot Server stopt alle paar stunden von mir,
es kommt zwar immer wieder der gleiche error nur ich kann diesen irgenwie nicht richtig verstehen :(

Code: Alles auswählen
  1. [00:14:19 INFO]: Stopping server
  2. [00:14:46 WARN]: Exception in thread "Spigot Watchdog Thread"
  3. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Timer-0"
  4. [00:15:09 WARN]: Exception in thread "Timer-0"
  5. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Timer-1"
  6. >
  7. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Snooper Timer"
  8. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-5"
  9. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Server thread"
  10. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Netty Epoll Server IO #0"
  11. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Spigot Metrics Thread"
  12. Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Netty Epoll Server IO #3"


Ich habe auch ein restart script was funktioniert wenn der Server normal stoppt.

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 11:13
von IcySkill
Wie sich bereits ablesen lässt, hat der Server nicht genügend RAM. Hast du denn einen scheduler laufen der was cachet ?

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 11:26
von Homerlator
Also ich habe 2 scheduler laufen:
1.:
Code: Alles auswählen
  1.    public void update() {
  2.       Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  3.          @Override
  4.          public void run() {
  5.             if (Bukkit.getOnlinePlayers().length == 0) {
  6.                return;
  7.             }
  8.             for (int i = 0; i < loc.size(); i++) {
  9.                Location loc2 = (Location) loc.get(i);
  10.                Sign sign3 = (Sign) loc2.getBlock().getState();
  11.                List<String> sign2 = new ArrayList<>();
  12.                for (int i2 = 0; i2 < sign.size(); i2++) {
  13.                   if (!sign.get(i2).equalsIgnoreCase("Xp")) {
  14.                      sign2.add(sign.get(i2));
  15.                   }
  16.                }
  17.                if (!sign3.getLine(2).equalsIgnoreCase("Xp")) {
  18.                   Random r = new Random();
  19.                   int zufall = r.nextInt(12);
  20.                   sign3.setLine(0, "§b[§3SkyPvP§b]");
  21.                   sign3.setLine(1, null);
  22.                   sign3.setLine(2, sign2.get(zufall));
  23.                   sign3.setLine(3, null);
  24.                   sign3.update();
  25.                }
  26.             }
  27.          }
  28.       }, 0, 3600 * 20);
  29.    }


2.:

Code: Alles auswählen
  1. public void setSkull() {
  2.       Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  3.          @Override
  4.          public void run() {
  5.             if (Bukkit.getOnlinePlayers().length == 0) {
  6.                return;
  7.             }
  8.             TopFive.set();
  9.          }
  10.       }, 0, 3 * 20);
  11.    }


Der setSkull tut alle 3 Sekunden aus einer MySQL Datenbank sich die fünf besten holen und updatet köpfe und die Stats schilder der besten

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 16:29
von Letsplaybar
Frage welche Spigot Version benutzt du? hatte zwischen durch mit einer älteren Spigot Version das gleiche Problem. hab es behoben in dem ich die Version gewechselt (upgedatet) habe.

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 16:32
von IcySkill
Kein Wunder - du lässt alle 6 Minuten einen neuen Random laufen - dieser verbraucht ziemlich viele Resourcen des Servers und wenn sich dass über 100-Mal Wiederholt, dann ist der RAM des Servers komplett ausgelastet. Wie viel RAM hast du deinem Server denn zugewiesen?

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 19:39
von Homerlator
Ich benutze die Spigot version 1.8.8,
und ich habe dem Server 3GB Ram zugeordnet.

Re: alle paar stunden ServerStop(Error)

BeitragVerfasst: Sa 16. Apr 2016, 20:09
von Letsplaybar
Homerlator hat geschrieben:Ich benutze die Spigot version 1.8.8,
und ich habe dem Server 3GB Ram zugeordnet.

ja welche Version müßte eigentlich soetwas wie R3 noch dahinter stehen das siehst du ab einer Packetbezeichnung
hier ein BSP: org.bukkit.craftbukkit.v1_9_R1.entity.
und 3GB müssten eig. ausreichen. zumal ich Plugins habe wo ich 5 rnd hintarnender ausführe und der Server hat nur 2Gb RAM.
probiere mal einfach die Spigot Version zu wechseln ...