MongoDB kommer (åtminstone verkar) använda mycket tillgängligt minne, men det överlåter faktiskt till OS:s VMM att säga åt det att släppa minnet (se Cachning i MongoDB-dokumenten.)
Du bör kunna frigöra allt minne genom att starta om MongoDB.
Men i viss mån använder MongoDB inte riktigt minnet.
Till exempel från MongoDB docs Checking Server Memory Usage ...
Beroende på plattformen kan du se de mappade filerna som minne i processen, men detta är inte strikt korrekt. Unix-topp kan visa mycket mer minne för mongod än vad som egentligen är lämpligt. Operativsystemet (den virtuella minneshanteraren specifikt, beroende på operativsystem) hanterar minnet där "minneskartade filer" finns. Detta nummer visas vanligtvis i ett program som "free -lmt".
Det kallas "cachat" minne.
MongoDB använder cachealgoritmen LRU (Last Recently Used) för att avgöra vilka "sidor" som ska släppas, du hittar lite mer information i dessa två frågor ...
- MongoDB limit memory
- MongoDB index/RAM-relation
- Mongod börja med minnesgräns (du kan inte). .)