„Używam solr 3.6. I indeksuję używając DIH aprox 2,6 GB danych co godzinę (teraz używam pełnego importu, ale wiem także o importach delta). Używam 24 GB pamięci RAM tylko dla JVM. Instancja solr jest implementacją wielordzeniową (teraz z 8 rdzeniami, ale będzie rosła), ale tylko jeden rdzeń ma duży indeks (około 2,6 GB). Obserwuję, że użycie pamięci RAM wzrasta po każdym pełnym indeksie i nigdy nie wróci, dopóki nie zrestartuję kontenera serwletów (jetty). Oto obraz danych z New Relic:
Czy to problem, czy błąd solr? Domyślam się, że problemem jest zbieranie śmieci. Jakakolwiek rada? Dzięki!
Odpowiedzi:
1 dla odpowiedzi № 1to jest całkowicie w porządku, bez błędów. W Javie, jeśli przydzielisz stertowi ilość X pamięci RAM, jvm chętnie go użyje, jak będzie potrzebował, a zwolnienie go może zająć trochę czasu lub nawet nie zwolnić, dopóki nie będzie potrzebować pamięci dla nowych obiektów.
Zobacz więcej szczegółów w innych pytaniach dotyczących pamięci Java