Although mongod.exe process memory is well capped ,as required by the --wiredTigerCacheSizeGB, the OS (Windows 2008 R2) keeps huge part of os memory cache active on files.
See screen shot of RMAP tool :
- green : no problem because of use of --wiredTigerEngineConfigString direct_io=[data] , no data file part is cached by the os, no problem.
- red : the os does keep in ram large parts (see column "Active File"), this is ok , but the issue here is that the sum of ram used because of mongod ( "mongod privateByte" + "os active file" ) exceed --wiredTigerCacheSizeGB , in fact at then end it would have the whole size of the database in memory. And this would lead to OOM we cannot prevent since we cannot cap "OS active file" locked by the OS as asked by WT.
the "--wiredTigerEngineConfigString direct_io=[data]" is a workaround to this problem , but then it lead to too much slowness for queries and in fact is not applicable for our volumes of process and data.
Could you make --wiredTigerCacheSizeGB take in acount the whole ram used because of mongo (os+process) , please ?
Mongo64_2008+\mongod.exe" --port 4444 --dbpath D:\Homeware\XOne_services\PreBETA\MongoData\CurvesFR --directoryperdb --journal --nohttpinterface --wiredTigerCacheSizeGB 1 --wiredTigerDirectoryForIndexes --replSet MongoServiceCacheCurves --oplogSize 1024 --storageEngine wiredTiger --auth --keyFile x.keyfile