Die Dokumentation, die Sie zitieren, ist korrekt. Wenn Sie den Befehl db.fsyncLock () ausführen, werden alle Änderungen auf die Festplatte gelöscht und die Journaldateien werden gelöscht. Sobald Sie db.fsyncUnlock () ausführen und ein weiterer Schreibvorgang eintrifft, werden diese Journaldateien erneut angezeigt :
Hier ein kurzes Beispiel für ein Testsystem:
> db.foo.insert({"id" : 1})
So sieht das Journalverzeichnis aus:
$ls /usr/local/var/mongodb/journal/ j._1 lsn $
Jetzt sperren wir es auf und spülen alles auf die Festplatte:
> db.fsyncLock() { "info" : "now locked against writes, use db.fsyncUnlock() to unlock", "seeAlso" : "http://dochub.mongodb.org/core/fsynccommand", "ok" : 1 }
Das Journalverzeichnis ist jetzt leer:
$ls /usr/local/var/mongodb/journal/ $
Entsperren, einfügen:
> db.fsyncUnlock() { "ok" : 1, "info" : "unlock completed" } > db.foo.insert({"id" : 1})
Jetzt haben wir wieder Journaldateien:
$ls /usr/local/var/mongodb/journal/ j._2 lsn $
Wenn Sie also nicht sperren, die Datenbanken auf die Festplatte leeren und ständig Schreibvorgänge eingehen, haben Sie immer Journaldateien.
Wenn Sie eine mongod
Instanz sauber herunterfahren, werden die Journaldateien gelöscht, sobald der Flush auf die Festplatte erfolgreich abgeschlossen wurde.
Wenn Sie die Journaldateien verkleinern möchten, können Sie die Ausführung mit der --smallfiles
Option prüfen. Dadurch erhalten Sie 3 x 128 MB-Dateien anstelle von 3 x 1 GB-Dateien.