/ / Pełna pamięć sterty powoduje spowolnienie serwera - włączyć zbieranie śmieci? (Zamknięte) - java, pamięć, odśmiecanie

Pełna pamięć sterty powoduje spowolnienie działania serwera - włączenie czyszczenia pamięci? (Zamknięty) - java, pamięć, zbieranie śmieci

Mam serwer WWW z nginx, apache i tomcat7. Na tym serwerze działa program Java. Mam również dostęp do serwera za pomocą szpachli.

Zwykle raz dziennie pamięć sterty na serwerzejest pełny (CMS Old Gen - Heap Memory na 100%), a program robi się naprawdę wolny. Następnie loguję się na serwerze i ponownie uruchamiam usługę tomcat7. Pamięć sterty zostaje wyczyszczona, a program ponownie działa poprawnie.

Mam więc dwa pytania.

  1. Czy muszę uruchomić czyszczenie pamięci z programu lub serwera?
  2. Kiedy funkcja odśmiecania jest na serwerze, jak ją włączyć?

Nie wiem, czy to dla Ciebie wystarczająca informacja. Jeśli czegoś potrzebujesz, daj mi znać.

Z poważaniem

Edytować:

Maksymalna pula pamięci Pamięć sterty CMS Old Gen 316.81 MB Pamięć Eden Space Heap 66,56 MB Survivor Space Heap Pamięć 8,31 MB Razem 391,68 MB

To jest wyciąg z Apache Managera(niestety nie mogę jeszcze opublikować żadnych zdjęć). Gdy CMS Old Gen jest włączony w 100%, program zaczyna działać naprawdę wolno. W lokalnej wersji aplikacji uruchomiłem JVM Monitor, aby sprawdzić, czy jest jakiś wyciek. Najwyraźniej śmieciarz działa tam poprawnie, ale nie na serwerze.

Jakieś sugestie?

Więc zwiększyłem rozmiar sterty i teraz próbuję zamknąć wycieki. Dziękuję bardzo za Twoją pomoc. Do zobaczenia =)

Odpowiedzi:

2 dla odpowiedzi № 1

Śmieciarka działa domyślnie. Jeśli chcesz się upewnić, że jest uruchomiony, możesz uruchomić JVM z opcją -Xloggc: {plik}, aby uzyskać informacje o debugowaniu dotyczące jego działań.

Jeśli musisz zrestartować tomcat, aby wyczyścić stertę, prawdopodobnie w aplikacji występuje przeciek pamięci, jak już wspomniano w komentarzach.