Potrzebuję sposobu na wyzwolenie pełnego GC ze skryptu konsoli linuksowej na ubuntu. Wiem, że to bardzo nieprzyjemna praktyka, ale bez wdawania się w zbyt wiele szczegółów, to sprawia, że mój serwer działa. Jest to przeznaczone tylko na 1 lub 2 dni, podczas gdy ja naprawiam problem, więc nie muszę się budzić w nocy i wykonaj instrukcję GC przez jconsole lub jvisualvm.Sposób wyzwalania ręcznego Java GC z konsoli linux bez X11
Alternatywnie muszę wykonać skrypt myszy, który kliknie przycisk co 3-4 godziny, co jest jeszcze gorsze.
Proszę o pomoc.
To zadziała. To trochę przerażające, że musisz to zrobić, ale zadziała. –
+1 do tego komentarza, choć z pytania mam wrażenie, że Ævar jest już tego świadomy, i używa tej techniki jako poprawki tymczasowej. –
Dziękuję bardzo, próbowałem i zadziałało, zaoszczędzę nocy, chociaż jestem bardzo blisko w naprawianiu faktycznego problemu. Aby trochę wyjaśnić problem, od jakiegoś czasu przestudiowałem ustawienia GC i zrobiłem wiele tuningu.Problem nie polega na tym, że JVM ma mało pamięci, a serwer działa poprawnie, ale przecieka gniazdami CLOSE_WAIT, które są oczyszczane podczas pełnego GC. Co jest również bardzo dziwne, to wypełnia pule połączeń i limity deskryptorów plików, a kończy się zawieszeniem serwera. –