Qual é o uso do snapshot.db?


16

Depois de instalar o Mavericks, descobri o snapshot.dbarquivo (1,5 GB) em:

/var/db/systemstats/snapshots.db

Qual é a utilidade desse arquivo? É seguro excluí-lo?


Eu tenho o mesmo problema. Arquivo snapshot.db de 1,5 GB. 27" . I7 iMac núcleo com Mavericks Enviei meu "retorno" para a Apple relatei como um bug..

Apenas no caso de você não querer excluí-lo, há uma discussão para diminuir o tamanho dessa discussão (obrigado @sayzlim)
nohillside

Você pode excluí-lo após interromper o serviço, conforme explicado aqui .
Kenorb

Respostas:


13

Em um nível alto, o arquivo que você listou é um arquivo de banco de dados binário usado pelo sistema operacional para rastrear o uso de energia, desempenho e dados de suspensão / ativação ao longo do tempo. Apesar das orientações gerais para não excluir nada de / var / db, isso parece não causar danos indevidos se você excluir esse arquivo ocasionalmente.

Isso alimenta as novas visões do uso de energia e talvez possa ajudar no diagnóstico, se você tiver problemas futuros e pedir à Apple para ajudar a diagnosticar o sistema.

O programa que grava nesse arquivo (assim como os arquivos associados em / var / db / systemstats) é systemstatsd .

Você pode usar o comando systemstats --help para obter mais detalhes e ler esse arquivo, se estiver curioso. A página de manual à qual vinculei é o shell de uma página de manual e o código não é documentado pela Apple, exceto pela documentação que é incorporada à ferramenta e acessível de chamá-la com a opção de ajuda.

Geralmente, não é seguro excluir nada em / var / db, pois o sistema pode depender da coerência dos arquivos, mas testei a remoção de todo o conteúdo desse diretório, inicializando no modo Usuário Único, e o sistema parece recriar as coisas corretamente e manipular qualquer tentativa de limpar manualmente esses arquivos.

Eu não recomendaria excluir nada de sytemstats em um Mac que você não esteja pronto para apagar e reinstalar e também poderá obter informações estranhas do Activity Monitor se conseguir obter o banco de dados e os arquivos de log em um estado inconsistente. Dito isto, parece que o sistema foi programado defensivamente para lidar com as coisas que estão faltando nesse diretório e não causar operações erráticas em geral, se você fizer isso de qualquer maneira.


5

Arquivei um relatório de bug com a apple para o mesmo problema. Eles responderam que o snapshots.db se destina a reter dados nos últimos 3 dias e atingir 70-150 MB na maioria dos sistemas. No entanto, no meu (OS X 10.9, iMac 27 polegadas, 2,8 GHz i7 e 8 GB de RAM), o arquivo snapshots.db atual atingiu 2,12 GB e ainda está crescendo. Não há mais ajuda da apple até agora - eles aparentemente não podem reproduzir o comportamento.

É possível excluir manualmente o arquivo, o que fiz depois que o primeiro atingiu 1,76 GB. Você também pode substituí-lo por um arquivo snapshots.db imutável do sistema vazio, o que impede o sistema de gravá-lo, embora você receba as mensagens do console 'falha na declaração' a ​​cada poucos minutos.

Não tenho nenhum uso real para este arquivo; 70-150 MB seria bom, mas o espaço em disco que consome no meu sistema é inaceitável.

Eu recomendo que você envie um relatório de bug com a apple também.


Eu vou fazer o mesmo e excluir o arquivo para ver o tamanho do arquivo que ele será reproduzido. Espero que o arquivo reproduzido tenha cerca de 250 MB desde que atualizei, em vez de uma instalação limpa, desde o Lion.
sayzlim

11
Se você quiser fazer uma pergunta sobre como despejar ou resumir o conteúdo do arquivo, pode ajudar você, @sayzlim e outros com pastas> 1 GB, a saber o que está sendo armazenado.
bmike

3

Como alternativa, você pode desativar o daemon de inicialização que gera esses instantâneos e grava nesse arquivo. Eu fiz isso no meu rMBP executando o Mavericks, pois o console foi inundado com logs "powerstats". Depois de executar o comando a seguir, os relatórios de log do console e o crescimento do arquivo ao qual você se refere cessaram.

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

3

O systemstatsddaemon coleta uma seleção de estatísticas do sistema sobre o uso de energia do sistema e geralmente é executado despercebido em segundo plano. Então, geralmente, não há nada a se preocupar.

Se o arquivo do banco de dados ficar muito grande ( snapshots.db), ele poderá ser esvaziado quando você parar / descarregar o serviço conforme esta postagem :

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

em seguida, limpe o arquivo:

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

2

Posso confirmar que correr

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

comprimirá o banco de dados. O meu passou de 530 MB para 74 MB, conforme outras postagens aqui. Portanto, a coleta de lixo ou danos de gravação nesse banco de dados provavelmente são os culpados. Eu arriscaria que a suposição mais provável está em uma gravação incorreta, pois meu CCC não pôde escrevê-la (nem poderia copiá-la para outro diretório)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.