Après avoir installé Mavericks, j'ai découvert snapshot.db
un fichier (1,5 Go) dans:
/var/db/systemstats/snapshots.db
Quelle est l'utilité de ce fichier? Est-il sûr de le supprimer?
Après avoir installé Mavericks, j'ai découvert snapshot.db
un fichier (1,5 Go) dans:
/var/db/systemstats/snapshots.db
Quelle est l'utilité de ce fichier? Est-il sûr de le supprimer?
Réponses:
À un niveau élevé, le fichier que vous avez répertorié est un fichier de base de données binaire utilisé par le système d'exploitation pour suivre la consommation d'énergie, les performances et les données de veille / veille au fil du temps. Malgré les instructions générales pour ne rien supprimer de / var / db, cela ne semble pas causer de préjudice indu si vous supprimez ce fichier à l'occasion.
Cela alimente les nouvelles vues de la consommation d'énergie et pourrait peut-être aider avec les diagnostics si vous avez des problèmes sur la ligne et demander à Apple d'aider à diagnostiquer le système.
Le programme qui écrit dans ce fichier (ainsi que les fichiers associés dans / var / db / systemstats) est systemstatsd .
Vous pouvez utiliser la commande systemstats --help pour obtenir plus de détails et lire ce fichier si vous êtes curieux. La page de manuel à laquelle j'ai lié est le shell d'une page de manuel et le code est principalement non documenté par Apple, à l'exception de la documentation intégrée à l'outil et accessible depuis l'appel avec l'option d'aide.
Il n'est généralement pas sûr de supprimer quoi que ce soit dans / var / db car le système peut dépendre de la cohérence des fichiers, mais j'ai testé la suppression de tout le contenu de ce répertoire en démarrant en mode mono-utilisateur et le système semble recréer les choses correctement et gérer toute tentative de nettoyage manuel de ces fichiers.
Je ne recommanderais pas de supprimer quoi que ce soit des sytemstats sur un Mac que vous n'êtes pas prêt à effacer et réinstaller et vous pourriez également obtenir des informations étranges du moniteur d'activité si vous parvenez à obtenir la base de données et les fichiers journaux dans un état incohérent. Cela étant dit, il semble que le système ait été programmé de manière défensive pour gérer les éléments manquants dans ce répertoire et ne pas provoquer un fonctionnement erratique en général si vous le faites de toute façon.
J'ai déposé un rapport de bogue avec apple pour le même problème. Ils ont répondu que snapshots.db est destiné à contenir des données pour les 3 derniers jours et atteindre 70-150 Mo sur la plupart des systèmes. Cependant, sur le mien (OS X 10.9, iMac 27 pouces 2,8 GHz i7, 8 Go de RAM), le fichier snapshots.db actuel a maintenant atteint 2,12 Go et continue de croître. Aucune aide supplémentaire de la pomme jusqu'à présent - ils ne peuvent apparemment pas reproduire le comportement.
Il est possible de supprimer manuellement le fichier, ce que j'ai fait après que mon premier ait atteint 1,76 Go. Vous pouvez également le remplacer par un fichier snapshots.db immuable du système vide, ce qui empêche le système d'écrire dessus, bien que vous obteniez ensuite des messages de console «Échec de l'assertion» toutes les quelques minutes.
Je n'ai aucune utilité réelle pour ce fichier; 70-150 Mo serait bien, mais l'espace disque qu'il consomme sur mon système est inacceptable.
Je vous recommande également de déposer un rapport de bogue avec apple.
Alternativement, vous pouvez désactiver le launchdaemon qui génère ces instantanés et écrit dans ce fichier. Je l'ai fait sur mon rMBP exécutant Mavericks depuis que la console était inondée de journaux "powerstats". Après avoir exécuté la commande suivante, les rapports de journal de la console et la croissance du fichier auquel vous faites référence ont cessé.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.daily.plist
Le systemstatsd
démon collecte une sélection de statistiques système sur la consommation d'énergie du système et s'exécute généralement en arrière-plan. Donc, en général, il n'y a rien à craindre.
Si le fichier de base de données devient trop volumineux ( snapshots.db
), il peut être vidé lorsque vous arrêtez / déchargez le service selon ce post :
sudo launchctl stop com.apple.systemstatsd
sudo launchctl stop com.apple.systemstatsd.analysis
puis rincez le fichier en:
sudo sh -c ">/private/var/db/systemstats/snapshots.db"
Je peux confirmer que courir
sudo sqlite3 /private/var/db/systemstats/snapshots.db "vacuum;"
compressera la base de données. Le mien est passé de 530 Mo à 74 Mo, ce qui est conforme à d'autres publications ici. Ainsi, la collecte des ordures ou les dommages d'écriture sur cette base de données sont probablement un coupable. Je me risquerais à supposer que l'hypothèse la plus probable est sur une mauvaise écriture, car mon CCC ne pouvait pas l'écrire (ni le copier dans un autre répertoire)