Die von Ihnen angegebene Dokumentation ist korrekt. Wenn Sie den Befehl db.fsyncLock () ausführen , werden alle Änderungen auf der 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 ist 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
$
Lassen Sie es uns jetzt abschließen und alles auf die Festplatte leeren:
> 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 dieser --smallfiles
Option prüfen. Dadurch erhalten Sie 3 x 128 MB-Dateien anstelle von 3 x 1 GB-Dateien.