Mongodb: Does not seem to respect capped size limit Running mongodb on win2012

Mongo db version v2.6.4

Our collection is created with this param:

capped:true, size:500000000000    // 500 gb

But the data dir, that only holds this one collection, has grown to 720gb.

There is no replication in use at all on this mongo server.

What can I do to keep the data dir at ~ 500 gb?

This db does get massive amounts of inserts at times, but we also need to control the max size (and let it discard old data). 

Is it possible that the capped size does not include indexes?

Or is there other overhead I should account for? (and how?

Or?

db stats

&gt; db.stats
function (scale){
    return this.runCommand( { dbstats : 1 , scale : scale } );
}
&gt; db.stats()
{
        "db" : "logging",
        "collections" : 3,
        "objects" : 289637086,
        "avgObjSize" : 2076.3166847770317,
        "dataSize" : 601378314192,
        "storageSize" : 606012620432,
        "numExtents" : 305,
        "indexes" : 12,
        "indexSize" : 147827443456,
        "fileSize" : 776943435776,
        "nsSizeMB" : 16,
        "dataFileVersion" : {
                "major" : 4,
                "minor" : 5
        },
        "extentFreeList" : {
                "num" : 0,
                "totalSize" : 0
        },
        "ok" : 1
}
&gt;


The command we use to create the collection:

db.createCollection("LogItem", { capped:true, size:500000000000 }) 

So the collection we write to is created with the capped cmd. and that is where all the space is

I can't do db.collection.stats() because out of disk space...

Thank you!
OK, we solved this.

Issue is that mongo auto creates the collection when incoming data comes in.

So the problem was:


Drop collection 
// transactions are coming in 
Create collection as capped


But #3 comes too late, as the collection is already present, as not capped, because of #2.

Solution:


stop mongo
bring up mango on non standard port // to prevent auto creation of collection
create collection as capped
stop mongo, bring it back up on regular port


Now I have a capped collection!