17 votes

Quelle est l'utilité de snapshot.db ?

Après avoir installé Mavericks, j'ai découvert snapshot.db (1,5 GB) dans le fichier :

/var/db/systemstats/snapshots.db

Quelle est l'utilité de ce fichier ? Peut-on le supprimer en toute sécurité ?

13voto

Oskar Points 1242

À un haut niveau, le fichier que vous avez listé est un fichier de base de données binaire utilisé par le système d'exploitation pour suivre l'utilisation de l'énergie, les performances et les données de sommeil/veille au fil du temps. Malgré les conseils généraux de ne rien supprimer de /var/db, cela ne semble pas causer de dommages excessifs si vous supprimez ce fichier à l'occasion.

Cela alimente les nouvelles vues de l'utilisation de l'énergie et pourrait peut-être aider au diagnostic si vous rencontrez des problèmes par la suite et demandez à Apple de vous aider à diagnostiquer le système.

Le programme qui écrit dans ce fichier (ainsi que dans les fichiers associés dans /var/db/systemstats ) est le suivant systemstatsd .

Vous pouvez utiliser le systemstats --help pour obtenir plus de détails et lire ce fichier si vous êtes curieux. La page de manuel dont j'ai donné le lien est l'enveloppe d'une page de manuel et le code est en grande partie non documenté par Apple, à l'exception de la documentation intégrée à l'outil et accessible en l'appelant avec l'option help.

Il n'est généralement pas sûr de supprimer quoi que ce soit dans /var/db puisque le système pourrait 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 utilisateur unique 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 de 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 à mettre la base de données et les fichiers journaux dans un état incohérent. Ceci étant dit, il semble que le système ait été programmé de manière défensive pour gérer les choses qui disparaissent de ce répertoire et ne pas causer de fonctionnement erratique en général si vous le faites quand même.

6voto

DBM Points 151

J'ai rempli un rapport de bug avec Apple pour le même problème. Ils ont répondu que snapshots.db est censé contenir les données des 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 part d'Apple jusqu'à présent - ils ne peuvent apparemment pas reproduire ce 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 vide et immuable, ce qui empêche le système d'y écrire, bien que vous obteniez alors des messages de console 'assertion failed' toutes les quelques minutes.

Je n'ai pas de réelle utilité pour ce fichier ; 70-150 Mo seraient parfaits, mais l'espace disque qu'il consomme sur mon système est inacceptable.

Je vous recommande de déposer un rapport de bogue auprès d'Apple également.

4voto

kenorb Points 11627

Le site systemstatsd collecte une sélection de statistiques sur l'utilisation de l'énergie du système. Il fonctionne généralement de manière inaperçue en arrière-plan. En général, il n'y a donc pas lieu de s'inquiéter.

Si le fichier de la base de données devient trop gros ( snapshots.db ), elle peut être vidée lorsque vous arrêtez/déchargez le service comme suit poste :

sudo launchctl stop com.apple.systemstatsd
sudo launchctl stop com.apple.systemstatsd.analysis

puis vider le fichier par :

sudo sh -c ">/private/var/db/systemstats/snapshots.db"

3voto

njboot Points 8005

Vous pouvez également désactiver le démon de lancement qui génère ces instantanés et écrit dans ce fichier. J'ai fait cela sur mon rMBP exécutant Mavericks car la console était inondée de journaux "powerstats". Après avoir exécuté la commande suivante, les rapports 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

2voto

Jerome Points 141

Je peux confirmer que l'exécution

sudo sqlite3 /private/var/db/systemstats/snapshots.db "vacuum;"

va compresser la base de données. La mienne est passée de 530 Mo à 74 Mo, conformément à d'autres messages publiés ici. Ainsi, le garbage collection ou les dommages en écriture sur cette base de données sont probablement les coupables. Je m'aventurerais à penser que l'hypothèse la plus probable est celle d'une mauvaise écriture, car mon CCC n'a pas pu l'écraser (ni le copier dans un autre répertoire).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X