Was sind die Parameter -Xms und -Xmx beim Start der JVM und wie beeinflussen sie den Speicher?
Hallo zusammen! Ich bin ein Java-Anfänger und bin kürzlich beim Start meiner Anwendung auf einem Server auf ein Problem gestoßen. Die Anwendung verarbeitet große CSV-Dateien (ca. 500 MB), und ich habe festgestellt, dass sie regelmäßig mit dem Fehler OutOfMemoryError: Java heap space abstürzt.
Ich starte die Anwendung über die Kommandozeile ungefähr so:
\njava -jar myapp.jar\n\nEin Kollege sagte, ich müsse die Parameter -Xms und -Xmx hinzufügen, aber ich verstehe nicht ganz, was sie bewirken. Ich habe versucht, sie auf gut Glück hinzuzufügen:
java -Xms512m -Xmx1024m -jar myapp.jar\n\nDanach trat der Fehler seltener auf, aber er kommt immer noch gelegentlich vor, wenn die Datei besonders groß ist. Ich habe die Dokumentation gelesen, aber sie scheint für einen Anfänger zu kompliziert zu sein.