Q. Memory used by mongodb

I have confirmed that the page provides a brief description of what WiredTiger uses Memory for.
'1. Index
'2. Collection

And I also confirmed that the rest of the file system area is used to reduce disk I/O.

I think WiredTiger’s internal cache will also store plans.
Is there anything else I can save?

Also, in one article, I saw that MongoDB recommended memory size is index size.
But if I don’t have the minimum size of memory available, will there be a very minimum recommended size?
(Size up to just before the server stumbles)

Hi @Kim_Hakseon,

This is dependent on the O/S, but generally filesystem cache will be helpful for storing most recently accessed data files in memory (including collections and indexes in your dbPath).

I have an older answer which could be a useful reference: Does the MongoDB 3.2 WiredTiger compression include stuff stored in RAM - Server Fault.

Aside from the WiredTiger cache, a mongod process will also need to allocate memory temporarily for processing requests (queries, JavaScript evaluation, in-memory sorts, etc).

The general recommendation is to try to avoid accessing disk for commonly used data and indexes, as this is orders of magnitude slower than cache or memory access. However, it is not a strict rule and there are definitely access patterns where you may only need a subset of a particular index (for example, Indexes that hold only recent values in RAM).

Resource usage is highly variable depending on your workloads and use case, so the best way to predict usage is by testing with representative workload and environment. You can mitigate some concerns of becoming I/O bound by having faster disks or more available RAM.

Regards,
Stennie