Skrypt resetujacy serwer po "insufficient memory" od oracle

czy da się zrobić skrypt który restartuje serwer używając komendy “java -Xms3700M -Xmx3700M -jar spigot.jar” kiedy pojawi się insufficient memory od oracle? z góry dziękuję

Tak, da się coś takiego zrobić. W prostej pętli jeśli wszystkie wątki aplikacji przy OOM są zakańczane lub z dodatkiem OOM Killera jeśli aplikacja jest bardziej problematyczna.

Wypadałoby jednak rozwiązać problem, który powoduje brak pamięci, zamiast liczyć, że aplikacja się sama będzie restartować co crash z braku pamięci.

czemu tyle bierze to sama nie wiem, próbuje brać 24gb ram na 1.16.5 z optymalizacją na full

Taka ilość ram zużywana przez jakąkolwiek z wersji serwera Minecraft może świadczyć tylko i wyłącznie o wyciekach pamięci. Najczęściej są one powodowane przez błędy we wtyczkach. Analizy pamięci można dokonać narzędziami takimi jak jprofiler, eclipse memory analyzer.

wiesz może który plugin mógłby powodować memory leak’a? załączam screena, apropo xpbank, jest to mój skrypt którego sama zrobiłam który tylko nadaje i zabiera expa oraz ingeruje w yaml’a, nic więcej (w tym folderze jest tylko xpbank.yml z levelami) [ss]

wyśle również błąd z oracle:

OpenJDK to nie jest Oracle. Dodatkowo: podaj dokładną komendę, jaką startujesz (obecnie) serwer i jakie są parametry serwera VPS/dedykowanego.

4gb fr z lvlup a komenda to najpierw “screen -S nazwasesjiscreena” (moja nazwa sesji ktorej tu nie podam zostala “ocenzurowana”) oraz potem “java -Xms3700M -Xmx3700M -jar spigot.jar”, a za pomylke przepraszam, pierwszy raz na vps oraz java sie nie interesuje

To teraz wszystko wyjaśnia. Ta wersja wymaga akurat trochę więcej ramu niż twój serwer ma faktycznie, powinieneś prawdopodobnie skorzystać z wyższego pakietu. Jeśli problem występuje tylko raz na kilka dni, upewnij się, że restartujesz serwer automatycznie każdego dnia.