Serwer nie potrafi korzystać z ramu

Cześć. Mam VPS PL 8GB, z czego 6GB przeznaczone na serwer, a serwer i tak crashuje z powodu “here is insufficient memory for the Java Runtime Environment to continue”. Moje flagi startowe:

java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -jar paper.jar

Co może powodować taki problem? Wydarza się to jakiś czas po starcie serwera. Najpierw jest okej, potem zaczyna freezować i przycinać, a następnie crashuje z powodu zbyt małej pamięci…
Dodam, że po starcie serwera komenda htop pokazuje coś takiego: https://imgur.com/a/OZLIY70 (nie patrzcie na zużycie procesora bo to przy starcie serwera, później to spada do normalnych wartości, chodzi mi głównie o RAM)

Wygląda na to, że te 6GB to po prostu za mało :stuck_out_tongue:

1lajk

Spróbuj uruchomić w ten sposób:
java -Xms6G -Xmx6G -jar paper.jar
jesli to nie pomoże, to oznacza, że serwer potrebuje więcej ramu.

Właśnie problem nie polega na zbyt małej ilości ramu tylko… na zbyt dużej. Zmniejszyłem do 5GB i problem nie występuje. Ale ja chcę więcej ramu serwerowi przypisać…
Na VPS PL 4GB miałem to samo, gdy przypisałem 3gb to robiło dokładnie to samo, zmniejszyłem do 2 i nagle nic. Przecież system i drobne usługi nie potrzebuje aż tak wiele ramu do działania. Podejrzewam że problem nie tkwi w serwerze, ale albo w flagach startowych, albo gdzieś po stronie systemu/JVM.

Java sama w sobie potrzebuje RAMu. Ja przy 8 GB również używałem 5 GB do minecrafta

Flagi różnią się od tych zalecanych na https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/

java -Xms6G -Xmx6G -XX: + UseG1GC -XX: + UnlockExperimentalVMOptions -XX: MaxGCPauseMillis = 100 -XX: + DisableExplicitGC -XX: TargetSurvivorRatio = 90 -XX: G1NewSizePercent = 50 -XX: G1Maxcent -XX: + AlwaysPreTouch -XX: + ParallelRefProcEnabled -Dusing.aikars.flags = mcflags.emc.gs -jar paperclip.jar

Przecież to kropka w kropkę to samo, tylko nazwa silnika to paper a nie paperclip.