MongoDB (przynajmniej wydaje się) zużywać dużo dostępnej pamięci, ale tak naprawdę to VMM systemu operacyjnego pozostawia polecenie zwolnienia pamięci (zobacz Buforowanie w dokumentacji MongoDB.)
Powinieneś być w stanie zwolnić całą pamięć przez ponowne uruchomienie MongoDB.
Jednak do pewnego stopnia MongoDB tak naprawdę nie „używa” pamięci.
Na przykład z dokumentacji MongoDB Sprawdzanie użycia pamięci serwera...
W zależności od platformy możesz widzieć zmapowane pliki jako pamięć w procesie, ale nie jest to całkowicie poprawne. Top Unix może pokazać o wiele więcej pamięci dla Mongoda, niż jest to naprawdę właściwe. System operacyjny (w szczególności wirtualny menedżer pamięci, w zależności od systemu operacyjnego) zarządza pamięcią, w której znajdują się „Pliki mapowane w pamięci”. Ta liczba jest zwykle pokazywana w programie takim jak "free -lmt".
Nazywa się to pamięcią „cache”.
MongoDB używa algorytmu pamięci podręcznej LRU (Least Latest Used) do określenia, które „strony” mają zostać wydane. Więcej informacji znajdziesz w tych dwóch pytaniach...
- Ograniczenie pamięci MongoDB
- Relacja między indeksem MongoDB a pamięcią RAM
- Mongod zaczyna od limitu pamięci (nie możesz .)