Nach der Installation von Mavericks entdeckte ich eine snapshot.db
(1,5 GB) Datei in:
/var/db/systemstats/snapshots.db
Wozu dient diese Datei? Ist es sicher, es zu löschen?
Nach der Installation von Mavericks entdeckte ich eine snapshot.db
(1,5 GB) Datei in:
/var/db/systemstats/snapshots.db
Wozu dient diese Datei? Ist es sicher, es zu löschen?
Antworten:
Auf einer höheren Ebene ist die von Ihnen aufgeführte Datei eine binäre Datenbankdatei, die vom Betriebssystem verwendet wird, um den Energieverbrauch, die Leistung und die Schlaf- / Wachdaten im Zeitverlauf zu verfolgen. Trotz der allgemeinen Anweisung, nichts aus / var / db zu löschen, scheint dies keinen übermäßigen Schaden zu verursachen, wenn Sie diese eine Datei gelegentlich löschen.
Dies speist die neuen Sichtweisen des Energieverbrauchs ein und kann möglicherweise bei der Diagnose hilfreich sein, wenn Sie später Probleme haben und Apple um Hilfe bei der Diagnose des Systems bitten.
Das Programm, das in diese Datei schreibt (sowie die zugehörigen Dateien in / var / db / systemstats), heißt systemstatsd .
Sie können den Befehl systemstats --help verwenden , um weitere Details abzurufen und aus dieser Datei zu lesen, wenn Sie neugierig sind. Die Handbuchseite, auf die ich verweise, ist die Shell einer Handbuchseite, und der Code ist von Apple zum größten Teil undokumentiert, abgesehen von der Dokumentation, die in das Tool integriert ist und über die Hilfeoption aufgerufen werden kann.
Es ist im Allgemeinen nicht sicher, irgendetwas in / var / db zu löschen, da das System davon abhängen könnte, dass die Dateien kohärent sind, aber ich habe versucht, den gesamten Inhalt dieses Verzeichnisses durch Booten im Einzelbenutzermodus zu entfernen, und das System scheint die Dinge ordnungsgemäß neu zu erstellen und zu handhaben Alle Versuche, diese Dateien manuell zu bereinigen.
Ich würde nicht empfehlen, irgendetwas aus den Systemstatistiken auf einem Mac zu löschen, den Sie noch nicht löschen und neu installieren können. Außerdem erhalten Sie möglicherweise ungewöhnliche Informationen aus dem Aktivitätsmonitor, wenn Sie es schaffen, die Datenbank und die Protokolldateien in einem inkonsistenten Zustand zu erhalten. Abgesehen davon sieht es so aus, als ob das System defensiv programmiert wurde, um die in diesem Verzeichnis fehlenden Elemente zu behandeln und im Allgemeinen keine fehlerhaften Vorgänge zu verursachen, wenn Sie dies dennoch tun.
Ich habe einen Fehlerbericht für das gleiche Problem bei Apple eingereicht. Sie antworteten, dass snapshots.db Daten für die letzten 3 Tage speichern und auf den meisten Systemen 70-150 MB erreichen soll. Auf meinem (OS X 10.9, iMac 27-Zoll 2,8 GHz i7, 8 GB RAM) hat die aktuelle snapshots.db-Datei nun 2,12 GB erreicht und wächst weiter. Bisher keine weitere Hilfe von Apple - sie können das Verhalten anscheinend nicht reproduzieren.
Es ist möglich, die Datei manuell zu löschen, nachdem meine erste 1,76 GB erreicht hatte. Sie können es auch durch eine leere, unveränderbare snapshots.db-Datei des Systems ersetzen, die verhindert, dass das System darauf schreibt, obwohl alle paar Minuten Konsolenmeldungen angezeigt werden, bei denen die Bestätigung fehlgeschlagen ist.
Ich habe keine wirkliche Verwendung für diese Datei; 70-150 MB wären in Ordnung, aber der auf meinem System belegte Speicherplatz ist inakzeptabel.
Ich empfehle Ihnen, einen Fehlerbericht auch bei Apple einzureichen.
Alternativ können Sie den Launchdaemon deaktivieren, der diese Snapshots erzeugt und in diese Datei schreibt. Ich habe dies auf meinem rMBP mit Mavericks gemacht, da die Konsole mit "PowerStats" -Protokollen überflutet war. Nachdem ich den folgenden Befehl ausgeführt habe, wurden sowohl die Konsolenprotokollberichte als auch das Wachstum der Datei, auf die Sie verweisen, beendet.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.daily.plist
Der systemstatsd
Dämon sammelt eine Auswahl von Systemstatistiken zum Stromverbrauch des Systems und wird normalerweise unbemerkt im Hintergrund ausgeführt. Im Allgemeinen gibt es also nichts zu befürchten.
Wenn die Datenbank - Datei zu groß (wird snapshots.db
), kann sie geleert werden , wenn Sie / Stopp - Entlade den Dienst gemäß diesem Beitrag :
sudo launchctl stop com.apple.systemstatsd
sudo launchctl stop com.apple.systemstatsd.analysis
dann spülen Sie die Datei durch:
sudo sh -c ">/private/var/db/systemstats/snapshots.db"
Ich kann das Laufen bestätigen
sudo sqlite3 /private/var/db/systemstats/snapshots.db "vacuum;"
komprimiert die Datenbank nach unten. Meine sind von 530MB auf 74MB gestiegen, was anderen Postings hier entspricht. Daher ist die Speicherbereinigung oder das Schreiben von Schäden in diese Datenbank wahrscheinlich ein Schuldiger. Ich würde das Risiko eingehen, dass die wahrscheinlichere Annahme ein fehlerhafter Schreibvorgang ist, da mein CCC ihn nicht überschreiben konnte (und ich ihn auch nicht in ein anderes Verzeichnis kopieren konnte).