mgutt Posted September 11, 2021 Share Posted September 11, 2021 Mein Minecraft Server ist laut Crash Report mit folgendem Fehler abgestürzt: java.lang.OutOfMemoryError: Java heap space Das scheint darauf hinzudeuten, dass der Container zu wenig RAM zugewiesen bekommen hat. Ich habe über "--memory" 8GB als Limit hinterlegt: Was ich nun nicht verstehe ist die Memory Zeile im Crash Report: Memory: 1336928 bytes (1 MiB) / 1073741824 bytes (1024 MiB) up to 1073741824 bytes (1024 MiB) Laut meiner Recherche sollte da eigentlich eher sowas stehen: Memory : 8.00GB (7.83 GB Usable) Weiter unten finde ich dann noch diese Werte, die auf 32GB RAM hinweisen: Virtual memory max (MB): 32080.43 Virtual memory used (MB): 9052.07 Swap memory total (MB): 0.00 Swap memory used (MB): 0.00 Dabei hat mein Server aber 64GB verbaut. Also wie kommt der auf 32GB bzw wieso nimmt der überhaupt an, dass das das Maximum sei, wo ich doch 8GB als Limit eingestellt habe? Wenn ich innerhalb des Containers die RAM-Auslastung prüfe, sieht der Container ebenfalls meine 64GB: free -h total used free shared buff/cache available Mem: 62Gi 3.8Gi 443Mi 1.7Gi 58Gi 56Gi Swap: 0B 0B 0B Gibt es keine Möglichkeit den RAM so zu begrenzen, dass das Container wirklich von 8GB als Maximum ausgeht? Weil es erscheint ja logisch, dass der abschmiert, wenn er denkt, dass er eigentlich mehr belegen könnte. Quote Link to comment
mgutt Posted September 11, 2021 Author Share Posted September 11, 2021 7 minutes ago, mgutt said: free -h Ok, darauf soll ich mich schon mal nicht verlassen: https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details Quote Inside the container, tools like free report the host’s available swap, not what’s available inside the container. Don’t rely on the output of free or similar tools to determine whether swap is present. Außer --memory finde ich in der Doku nichts. Muss ich evtl dem Minecraft Server selbst mitteilen wie viel RAM es wirklich gibt?! EDIT: Ok, also hier steht, dass man die server.jar mit Xmx und Xms limitieren kann: https://www.mvps.net/docs/how-to-increase-the-minecraft-server-ram-allocation/ Laut dem Crash Report steht beides auf 1GB: JVM Flags: 2 total; -Xmx1024M -Xms1024M EDIT2: Ok, man sollte die Config eines Containers auch lesen ^^ Gut, da habe ich nun ebenfalls 8GB eingestellt: Wobei ich mich jetzt immer noch Frage ob 1GB oder 8GB mein Problem waren. Die 9052 "Virtual Memory Used" deuten ja eher daraufhin, dass er die 8GB überschritten hat?! Quote Link to comment
ich777 Posted September 11, 2021 Share Posted September 11, 2021 7 minutes ago, mgutt said: Was ich nun nicht verstehe ist die Memory Zeile im Crash Report: Was ist denn im template bei xmx und xms eingetragen? 3 minutes ago, mgutt said: Minecraft Server selbst mitteilen wie viel RAM es wirklich gibt?! Der normale basiert auf Java und Java, naja... 😅 Ja musst auf jeden Fall werte für xmx und xms eintragen. Quote Link to comment
mgutt Posted September 11, 2021 Author Share Posted September 11, 2021 1 minute ago, ich777 said: Ja musst auf jeden Fall werte für xmx und xms eintragen. Siehe Beitrag zuvor. Habe ich korrigiert. War denn 1GB mein Problem? Weil die 9GB bei Virtual Memory Used irritieren mich. Quote Link to comment
ich777 Posted September 11, 2021 Share Posted September 11, 2021 4 minutes ago, mgutt said: Siehe Beitrag zuvor. Habe ich korrigiert. War denn 1GB mein Problem? Weil die 9GB bei Virtual Memory Used irritieren mich. Ich glaub das der 1GB dein problem war. Minecraft, zumindest Java Edition ist extrem RAM hungrig, für jeden spieler würd ich mindestens 1GB an RAM rechnen, ich schätze das der JVM der platz ausging... Quote Link to comment
mgutt Posted September 11, 2021 Author Share Posted September 11, 2021 Just now, ich777 said: für jeden spieler würd ich mindestens 1GB an RAM rechnen, ich schätze das der JVM der platz ausging... Tatsächlich lief der Vanilla die ganze Zeit mit dem 1GB XMX Limit. 😅 Da waren meine ich sogar schon 5 Spieler gleichzeitig drauf und wenn viele Spieler drauf waren, dann stieg auch der RAM-Verbrauch auf über 3GB laut Container-Übersicht, was ich ja schon irgendwie komisch finde, wenn man doch eigentlich 1GB eingestellt hat. Jedenfalls wird nun hauptsächlich der Paper-Server genutzt, der nun zum ersten mal mit dem Out of Memory Error abgestürzt ist, wie ich auch den Logs entnehmen kann: [12:35:08] [Server thread/WARN]: abc moved too quickly! 11.484660118942482,-13.344199657193855,19.297132411591548 [12:36:01] [WorldEdit Session Manager/WARN]: Exception in thread "WorldEdit Session Manager" java.lang.OutOfMemoryError: Java heap space [12:36:01] [Netty Epoll Server IO #3/WARN]: [io.netty.channel.AbstractChannelHandlerContext] An exception 'java.lang.OutOfMemoryError: Java heap space' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception: java.lang.OutOfMemoryError: Java heap space [12:36:10] [User Authenticator #3/INFO]: UUID of player abc is abc-abc-abc-abc-abc Bei dem habe ich nun neben --memory=8G auch die 8GB bei den XMS und XMX Werten angepasst. Wo vorher im Ruhezustand 1.6GB genutzt wurden, steht er nun auf 6.7GB: Mehr RAM wird also offensichtlich dankbar angenommen. Mal sehen ob es in Zukunft wieder einen Absturz gibt. Quote Link to comment
ich777 Posted September 11, 2021 Share Posted September 11, 2021 Just now, mgutt said: RAM-Verbrauch auf über 3GB laut Container-Übersicht, was ich ja schon irgendwie komisch finde, wenn man doch eigentlich 1GB eingestellt hat. Was soll ich sagen, Java... 1 minute ago, mgutt said: Mehr RAM wird also offensichtlich dankbar angenommen. Mal sehen ob es in Zukunft wieder einen Absturz gibt. Java nimt dir alles. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.