2010-06-01 16 views
5

Mam pudełko Red Hat z pamięcią 6G z Tomcat i próbuję ustalić, ile pamięci pozostało mi na pudełku. Problem polega na tym, że jconsole top pokazuje jedną cyfrę (około 200M), a monitor systemu pokazuje inną wartość (około 2G). Czy ktoś wie, co to za różnica?Przeciek pamięci Java/Tomcat w systemie RedHat Linux?

Nie jestem pewien, czy istnieje tu wyciek pamięci, ale konsumentem najbardziej pamięci jest proces kocurka, który pobiera 2,2 G pamięci.

ekranu poniżej: alt text alt text alt text alt text alt text

Dodane wolnej polecenia screenshot: alt text

Odpowiedz

4

Najwyraźniej na górze jest informacja, że ​​Tomcat wykorzystuje tylko 38% dostępnej pamięci. Twój problem (jeśli jest jakiś problem) dotyczy wszystkich pozostałych 62% pamięci.

Podejrzewam, że jest on używany do buforowania dysków/systemu plików. (Uruchom polecenie free i oczekuję, że powinieneś zobaczyć wysoką wartość dla "cache", która z grubsza odpowiada rozmiarowi brakujących stron.)

Jeśli twój system ma dużą liczbę stron w pamięci podręcznej, jest to DOBRA RZECZ. Wszystkie te buforowane bloki dysku sprawią, że dostęp do twojego systemu odczytu będzie przyjemny i szybki. (A jeśli system operacyjny potrzebuje stron fizycznych na coś ważniejszego ... takich jak uruchamianie aplikacji ... może szybko odzyskać je z pamięci podręcznej dysku.)

+0

Dzięki Stephen C, dodałem zrzut ekranu z poleceniami darmowymi. Chyba nie muszę się tym martwić, ponieważ buforowanie to dobra rzecz. – rmartinus

+0

Czy istnieje sposób, aby dowiedzieć się, który proces zajmuje pamięć podręczną? – rmartinus

+0

@ black-rocky - no. System operacyjny nie kojarzy rzeczy w pamięci podręcznej bloku dysku z żadnym procesem. Ale to naprawdę nie ma znaczenia, ponieważ, jak powiedziałem, strony w pamięci podręcznej będą odzyskiwane na żądanie. –

1

Monitor systemu pokazuje w jaki sposób pamięć jest wykorzystywana w procesie tomcat która 2G [Maksymalny rozmiar sterty yo ma przydzielony zestaw].

na Linuxzie spróbuj porównać go z free -m, który pokazuje aktualną wolną pamięć.

1

Co wyświetla "free -t"? Zastanawiam się, czy jedna z postaci zawiera dane z pamięci podręcznej systemu plików (która jest używana w tym sensie, że jest fizycznie używana do czegoś, ale wolna w tym sensie, że może być usunięta w dowolnym momencie, jeśli to konieczne).

Powiązane problemy