There are lots of factors that determine the system health of a server. The hardware capabilities - CPU, memory or disk - is an important one, but also the server load - number of devices (Nodes to be polled, updated, audited, synchronised), number of products (NMIS, OAE, opCharts, opHA - each running different processes), number of concurrent users.
...
Code Block |
---|
omkd_max_requests |
MongoDB memory usage
MongoDB, in its default configuration, will use will use the larger of either 256 MB or ½ of (ram – 1 GB) for its cache size.
MongoDB cache size can be changed by adding the cacheSizeGB argument to the /etc/mongod.conf configuration file, as shown below.
Code Block |
---|
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
wiredTiger:
engineConfig:
cacheSizeGB: 1 |
Here is an interesting information regarding how MongoDB reserves memory for internal cache and WiredTiger, the underneath technology. Also some adjustment that can be done: https://dba.stackexchange.com/questions/148395/mongodb-using-too-much-memory
Server examples
Stressed system
Status | ||||
---|---|---|---|---|
|
System information:
Name | Value |
---|---|
nmisd_max_workers | 10 |
omkd_workers | 4 |
omkd_max_requests | 500 |
Nodes | 406 |
Active Nodes | 507 |
SO | Ubuntu 18.04.3 LTS |
This is how the server memory graphs looks in a stressed system:
NMIS process keeps stable, is not using more than 120 mb, and the process was stopped - probably killed for the system due to high memory usage:
Status | ||||
---|---|---|---|---|
|
The OMK process has more fluctuations and higher memory usage - peaks up to 800 mb. The memory trend is to raise:
And mongod keeps using a lot of memory - 3GB, as configured - but it is stable:
Normal system
This is