Exercise caution while editing /usr/local/omk/conf/opCommon.nmis, /usr/local/omk/conf/opCommon.json or /etc/mongod.conf; if a syntax error is induced all OMK applications will cease to function.
Reducing a Server's Memory Footprint
- ABI 1 (NMIS 8)
- In omk/conf/opCommon.nmis:
- omkd_workers is set at 10 by default. Try reducing this number to 5 and then restart the omkd service.
If you THEN find YOU need more omkd_workers, increment this value by one and test again until you get to a suitable value for omkd_workers - /omkd/omkd_max_requests: 100 to 500
- omkd_workers is set at 10 by default. Try reducing this number to 5 and then restart the omkd service.
- In omk/conf/opCommon.nmis:
- ABI 2 (NMIS 9)
- In omk/conf/opCommon.json:
- omkd_workers is set at 10 by default. Try reducing this number to 5 and then restart the omkd service.
If you THEN find YOU need more omkd_workers, increment this value by one and test again until you get to a suitable value for omkd_workers - /omkd/omkd_max_requests: 100 to 500
- omkd_workers is set at 10 by default. Try reducing this number to 5 and then restart the omkd service.
- in nmis9/conf/Config.nmis:
- /system/nmisd_worker_max_cycles: 100
- /system/nmisd_worker_max_cycles: 100
- In omk/conf/opCommon.json:
- The default MongoDB table type is wiredtiger.
If your MongoDB installation is using table type wiredtiger, please read
https://docs.mongodb.com/manual/reference/configuration-options/#storage.wiredTiger.engineConfig.cacheSizeGB- Consider setting cacheSizeGB appropriately taking into consideration the memory requirements of other processes running on this box.
With default mongod settings, a box with 16GB memory will most probably be currently set to use more than 7GB of memory for cacheSizeGB.
This may be too much considering the box may be running NMIS, OMK and other applications too.- Check how much memory mongod is using for this cache at /var/log/mongodb/mongod.log: search for cache_size where it is provided in MB, for example:
- STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7414M
cacheSizeGB is set in GB, so a cache_size of 7414M is equivalent to cacheSizeGB of 7.24GB.
- STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7414M
- Example where 60% was decided as the ratio that should use in computing MongoDB cacheSizeGB on a VM with 8GB memory:
- MONGO_USAGE=0.6
- TOTAL_MEM=$(cat /proc/meminfo| grep -iF "memtotal" | awk '{print $2}')
- returns TOTAL_MEM=7673702.4 (KB)
- MONGO_MEM=$(echo "(${TOTAL_MEM} / (1024 * 1024)) * ${MONGO_USAGE}" | bc -l)
- returns MONGO_MEM=4.390927734375 (GB)
- MONGO_MEM=$(printf "%.2f" "${MONGO_MEM}")
- returns MONGO_MEM=4.39 (GB)
- CACHE_MEM_FINAL=$(echo "((${MONGO_MEM} -1) * 0.5) / 1" | bc -l)
- returns CACHE_MEM_FINAL=1.695 (GB)
- CACHE_MEM_FINAL=$(printf "%.2f" "${CACHE_MEM_FINAL}")
- returns CACHE_MEM_FINAL=1.70 (GB)
- echo $CACHE_MEM_FINAL
- 1.7
- Set cacheSizeGB to 1.7
- Check how much memory mongod is using for this cache at /var/log/mongodb/mongod.log: search for cache_size where it is provided in MB, for example:
- Consider setting cacheSizeGB appropriately taking into consideration the memory requirements of other processes running on this box.