I have two production servers running Windows server 2012 R2. As a primary and secondary server, they are used for a failover scenario, where the if one fails, the other will take the load.
My application is using MongoDB replication. I have 3 instances. Primary and arbiter (which i'm going to move it on a different server, this is just a temporary souliton) and a secondary node on the secondary server.
After a time, the RAM consumption is becoming very high on both servers. MongoDB takes all the available RAM usage and does not release it. I have noted this behaviour only when the MongoDB is working in a replica.
I have done some research, and found out that it is not possible to limit the RAM usage of the mongod process itself. I'm little sceptic with MongoDB using all the RAM.
Windows Resource Manager has been deprecated in Windows Server 2012 R2.
Please share your experiences, thoughts or ideas how to limit the RAM usage of the mongodb process on my windows server.
rs.status()"set": "XXXXXX", "date": ISODate("2015-03-03T13:35:39.000Z"), "myState": 1, "members": [ { "_id": 1, "name": "Server1:3000", "health": 1, "state": 1, "stateStr": "PRIMARY", "uptime": 67557, "optime": Timestamp(1425389739, 19), "optimeDate": ISODate("2015-03-03T13:35:39.000Z"), "electionTime": Timestamp(1425322202, 1), "electionDate": ISODate("2015-03-02T18:50:02.000Z"), "self": true }, { "_id": 2, "name": "Abritrer1:3001", "health": 1, "state": 7, "stateStr": "ARBITER", "uptime": 67547, "lastHeartbeat": ISODate("2015-03-03T13:35:38.000Z"), "lastHeartbeatRecv": ISODate("2015-03-03T13:35:39.000Z"), "pingMs": 0 }, { "_id": 3, "name": "Server2:3000", "health": 1, "state": 2, "stateStr": "SECONDARY", "uptime": 67542, "optime": Timestamp(1425389737, 26), "optimeDate": ISODate("2015-03-03T13:35:37.000Z"), "lastHeartbeat": ISODate("2015-03-03T13:35:37.000Z"), "lastHeartbeatRecv": ISODate("2015-03-03T13:35:38.000Z"), "pingMs": 1, "syncingTo": "Server1:3000" } ], "ok": 1 }