Добре; след много търсене изглежда, че MongoDB предварително разпределя място във файловете с експоненциален размер до 2Gb, след което всеки файл ще бъде 2G.
http://www.mongodb.org/display/DOCS/Excessive+Disk +Интервал
Моята тестова програма добавя 80Mb файлове във фоновите файлове (.0 - .7 и т.н.) и когато частите от данни започват да се записват в последния файл, Mongo предварително разпределя друг файл, експоненциално по-голям от последния.
Така че първият файл от 80Mb запълва файла от 16Mb, файла от 32Mb и фоновите файлове от 64Mb и поради метаданните заема малко повече място и трябва да навлезе леко във файла от 128Mb, това задейства mongo да разпредели предварително файл от 256Mb общо 496Mb; тъй като се добавят повече файлове, повече файлове се разпределят предварително и когато 2Gb достигнат на моята тестова машина, Mongo няма достъп до пространството и се свива.
Така че, въпреки че изглежда, че един файл от 80 Mb заема много повече място, отколкото би трябвало - има смисъл по заобиколен начин.
Това може да се изключи чрез стартиране на mongod с --noprealloc, въпреки че това се препоръчва само за тестови машини.
Благодаря за отговорите!