Apa gunanya snapshot.db?

16

Setelah menginstal Mavericks, saya menemukan snapshot.dbfile (1,5 GB) di:

/var/db/systemstats/snapshots.db

Apa gunanya file itu? Apakah aman untuk menghapusnya?

sayzlim
sumber
Saya memiliki masalah yang sama. File snapshot.db 1,5 GB. 27 "iMac Core i7 dengan Mavericks. Saya mengirimkan" umpan balik "saya ke Apple. Saya melaporkannya sebagai bug.
Kalau-kalau Anda tidak ingin menghapusnya, ada diskusi untuk memangkas ukuran dalam diskusi ini (terima kasih @sayzlim)
nohillside
Anda dapat menghapusnya setelah menghentikan layanan seperti yang dijelaskan dalam sini .
kenorb

Jawaban:

13

Pada level tinggi, file yang Anda daftarkan adalah file basis data biner yang digunakan oleh OS untuk melacak penggunaan daya, kinerja, dan data tidur / bangun seiring waktu. Meskipun panduan umum untuk tidak menghapus apa pun dari / var / db, ini tampaknya tidak menyebabkan kerusakan yang tidak semestinya jika Anda menghapus satu file itu sesekali.

Ini memberi makan pandangan baru tentang penggunaan energi dan mungkin dapat membantu dengan diagnosa jika Anda memiliki masalah di telepon dan meminta Apple untuk membantu mendiagnosis sistem.

Program yang menulis ke file itu (juga file terkait di / var / db / systemstats) adalah systemstatsd .

Anda dapat menggunakan perintah systemstats --help untuk mendapatkan rincian lebih lanjut dan membaca dari file itu jika Anda penasaran. Halaman manual yang saya tautkan adalah shell dari halaman manual dan kode ini sebagian besar tidak didokumentasikan oleh Apple selain dari dokumentasi yang dibuat di dalam alat dan dapat diakses dengan memanggilnya dengan opsi bantuan.

Secara umum tidak aman untuk menghapus apa pun di / var / db karena sistem dapat bergantung pada file yang koheren, tetapi saya telah menguji menghapus semua isi direktori itu dengan mem-boot ke mode Single User dan sistem tampaknya menciptakan hal-hal dengan benar dan menangani setiap upaya untuk membersihkan file-file ini secara manual.

Saya tidak akan merekomendasikan menghapus apa pun dari sistem file pada Mac Anda tidak siap untuk menghapus dan menginstal ulang dan Anda juga mungkin mendapatkan informasi aneh dari Activity Monitor jika Anda berhasil mendapatkan database dan mencatat file dalam keadaan tidak konsisten. Yang sedang berkata, sepertinya sistem diprogram secara defensif untuk menangani hal-hal yang hilang dari direktori itu dan tidak menyebabkan operasi yang tidak menentu secara umum jika Anda melakukannya.

bmike
sumber
5

Saya mengajukan laporan bug dengan apel untuk masalah yang sama. Mereka menjawab bahwa snapshots.db dimaksudkan untuk menyimpan data selama 3 hari terakhir dan mencapai 70-150 MB pada kebanyakan sistem. Namun, pada saya (OS X 10.9, iMac 27-inci 2.8 GHz i7, 8 GB RAM) file snapshots.db saat ini sekarang telah mencapai 2,12 GB dan masih terus berkembang. Tidak ada bantuan lebih lanjut dari apel sejauh ini - mereka tampaknya tidak dapat mereproduksi perilaku tersebut.

Dimungkinkan untuk menghapus file secara manual, yang saya lakukan setelah yang pertama saya mencapai 1,76 GB. Anda juga dapat menggantinya dengan file snapshots.db sistem kosong yang tidak dapat diubah, yang mencegah sistem dari menulis ke sana, meskipun Anda kemudian mendapatkan pesan konsol 'pernyataan gagal' setiap beberapa menit.

Saya tidak punya kegunaan nyata untuk file ini; 70-150 MB akan baik-baik saja, tetapi ruang disk yang digunakannya pada sistem saya tidak dapat diterima.

Saya sarankan Anda mengajukan laporan bug dengan apel juga.

DBM
sumber
Saya akan melakukan hal yang sama dan menghapus file untuk melihat seberapa besar ukuran file yang akan direproduksi. Mudah-mudahan file yang direproduksi akan sekitar 250 MB karena saya telah memutakhirkan bukannya menginstal sejak Lion.
sayzlim
1
Jika Anda ingin bertanya pada pertanyaan tentang cara membuang atau meringkas isi file, mungkin membantu Anda, @sayzlim, dan lainnya dengan folder> 1 GB tahu apa yang sedang disimpan.
bmike
3

Atau, Anda dapat menonaktifkan launchdaemon yang memunculkan snapshot ini dan menulis ke file itu. Saya melakukan ini di rMBP saya menjalankan Mavericks karena konsol dibanjiri dengan log "powerstats". Setelah saya menjalankan perintah berikut, baik log konsol melaporkan dan pertumbuhan file yang Anda rujuk berhenti.

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

The systemstatsddaemon mengumpulkan pilihan statistik sistem tentang penggunaan daya sistem dan biasanya berjalan tanpa disadari di latar belakang. Jadi secara umum, tidak ada yang perlu dikhawatirkan.

Jika file database menjadi terlalu besar ( snapshots.db), itu dapat dikosongkan ketika Anda menghentikan / membongkar layanan sesuai posting ini :

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

lalu siram file dengan:

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

Saya dapat mengkonfirmasi menjalankan itu

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

akan menekan database. Milik saya naik dari 530MB ke 74MB, menyesuaikan postingan lain di sini. Dengan demikian, pengumpulan sampah atau menulis kerusakan pada database ini mungkin adalah penyebabnya. Saya berani berpendapat bahwa asumsi yang lebih mungkin adalah pada penulisan yang buruk, karena CCC saya tidak dapat menuliskannya (saya juga tidak bisa menyalinnya ke direktori lain)

Jerome
sumber