¿Para qué sirve snapshot.db?


16

Después de instalar Mavericks, descubrí el snapshot.dbarchivo (1,5 GB) en:

/var/db/systemstats/snapshots.db

¿Para qué sirve ese archivo? ¿Es seguro eliminarlo?


Tengo el mismo problema. Archivo snapshot.db de 1,5 GB. 27 "iMac Core i7 con Mavericks. Envié mis" comentarios "a Apple. Lo informé como un error.

En caso de que no quiera eliminarlo, hay una discusión para reducir el tamaño en esta discusión (gracias @sayzlim)
nohillside

Puede eliminarlo después de detener el servicio como se explica aquí .
kenorb

Respuestas:


13

En un nivel alto, el archivo que usted enumeró es un archivo de base de datos binario utilizado por el sistema operativo para rastrear el uso de energía, el rendimiento y los datos de reposo / activación a lo largo del tiempo. A pesar de la orientación general de no eliminar nada de / var / db, esto parece no causar daños indebidos si fuera a eliminar ese archivo en alguna ocasión.

Esto alimenta las nuevas vistas del uso de energía y quizás podría ayudar con el diagnóstico si tiene problemas en el futuro y le pide a Apple que lo ayude a diagnosticar el sistema.

El programa que escribe en ese archivo (así como los archivos asociados en / var / db / systemstats) es systemstatsd .

Puede usar el comando systemstats --help para obtener más detalles y leer ese archivo si tiene curiosidad. La página de manual a la que me vinculé es el shell de una página de manual y el código no está documentado en su mayoría por Apple, aparte de la documentación que está integrada en la herramienta y accesible desde llamarla con la opción de ayuda.

Por lo general, no es seguro eliminar nada en / var / db ya que el sistema podría depender de que los archivos sean coherentes, pero he probado eliminar todo el contenido de ese directorio arrancando en modo Usuario único y el sistema parece recrear las cosas correctamente y manejar cualquier intento de limpiar manualmente estos archivos.

No recomendaría eliminar nada de los sytemstats en una Mac que no esté listo para borrar y reinstalar, y también podría obtener información extraña de Activity Monitor si logra obtener la base de datos y los archivos de registro en un estado inconsistente. Dicho esto, parece que el sistema fue programado a la defensiva para manejar las cosas que faltan en ese directorio y no causar una operación errática en general si lo hace de todos modos.


5

Presenté un informe de error con apple por el mismo problema. Respondieron que snapshots.db está destinado a almacenar datos de los últimos 3 días y alcanzar 70-150 MB en la mayoría de los sistemas. Sin embargo, en el mío (OS X 10.9, iMac 27 pulgadas 2.8 GHz i7, 8 GB RAM) el archivo actual de instantáneas.db ahora ha alcanzado 2.12 GB y todavía está creciendo. No hay más ayuda de Apple hasta ahora, aparentemente no pueden reproducir el comportamiento.

Es posible eliminar manualmente el archivo, lo que hice después de que mi primero alcanzó 1.76 GB. También puede reemplazarlo con un archivo de instantáneas inmutables.db del sistema vacío, lo que evita que el sistema escriba en él, aunque luego recibe mensajes de consola de 'error de aserción' cada pocos minutos.

No tengo ningún uso real para este archivo; 70-150 MB estaría bien, pero el espacio en disco que consume en mi sistema es inaceptable.

Le recomiendo que también presente un informe de error con apple.


Voy a hacer lo mismo y eliminar el archivo para ver qué tan grande se reproducirá el tamaño del archivo. Con suerte, el archivo reproducido tendrá alrededor de 250 MB desde que he estado actualizando en lugar de una instalación limpia desde Lion.
sayzlim

1
Si desea hacer una pregunta de seguimiento sobre cómo volcar o resumir el contenido del archivo, podría ayudarlo, @sayzlim y otros con carpetas> 1 GB a saber qué se está almacenando.
bmike

3

Alternativamente, puede deshabilitar el launchdaemon que genera estas instantáneas y escribe en ese archivo. Hice esto en mi rMBP ejecutando Mavericks ya que la consola se inundó con registros de "powerstats". Después de ejecutar el siguiente comando, cesaron los informes de registro de la consola y el crecimiento del archivo al que se refiere.

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.daily.plist 

3

El systemstatsddemonio recopila una selección de estadísticas del sistema sobre el uso de energía del sistema y, por lo general, pasa desapercibido en segundo plano. En general, no hay nada de qué preocuparse.

Si el archivo de la base de datos se vuelve demasiado grande ( snapshots.db), se puede vaciar cuando detiene / descarga el servicio según esta publicación :

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

luego vaciar el archivo por:

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

2

Puedo confirmar que corriendo

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

comprimirá la base de datos hacia abajo. La mía pasó de 530MB a 74MB, conformando otras publicaciones aquí. Por lo tanto, la recolección de basura o el daño de escritura en esta base de datos es probablemente un culpable. Me atrevería a decir que la suposición más probable es una mala escritura, ya que mi CCC no pudo sobrescribirla (ni podría copiarla en otro directorio)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.