安装Mavericks之后,我在以下位置发现了snapshot.db
(1.5 GB)文件:
/var/db/systemstats/snapshots.db
该文件的用途是什么?删除它安全吗?
安装Mavericks之后,我在以下位置发现了snapshot.db
(1.5 GB)文件:
/var/db/systemstats/snapshots.db
该文件的用途是什么?删除它安全吗?
Answers:
在较高的级别上,您列出的文件是操作系统使用的二进制数据库文件,用于跟踪一段时间内的电源使用情况,性能和睡眠/唤醒数据。尽管有一般指导原则,不要从/ var / db中删除任何文件,但这似乎并不会造成不必要的损害,如果您偶尔要删除该文件。
这为能源使用提供了新的观点,如果您在生产过程中遇到问题并请Apple帮助诊断系统,则可能有助于诊断。
写入该文件(以及/ var / db / systemstats中的关联文件)的程序是systemstatsd。
您可以使用systemstats --help命令来获取更多详细信息,如果有兴趣的话可以从该文件中读取。我链接到的手册页是手册页的外壳,除了该工具内置的文档以及可通过使用help选项调用它的文档外,Apple大多未记录代码。
通常删除/ var / db中的内容并不安全,因为系统可能取决于文件的一致性,但是我已经测试过通过引导至单用户模式删除该目录的所有内容,并且系统似乎可以正确地重新创建内容并处理手动清除这些文件的任何尝试。
我不建议您从Mac上的sytemstats中删除任何内容,如果您尚未准备好擦除并重新安装它们,并且如果设法使数据库和日志文件处于不一致的状态,则还可能会从Activity Monitor中获得奇怪的信息。话虽如此,看来系统已进行了防御性编程,以处理该目录中丢失的内容,并且无论如何也不会造成一般的错误操作。
我针对同一问题向苹果提交了错误报告。他们回答说,snapshots.db用于保存最近3天的数据,并且在大多数系统上达到70-150 MB。但是,在我的操作系统(OS X 10.9,iMac 27英寸2.8 GHz i7、8 GB RAM)上,当前的snapshots.db文件现在已达到2.12 GB,并且仍在增长。到目前为止,苹果没有进一步的帮助-它们显然无法重现该行为。
可以手动删除文件,这是我第一个文件达到1.76 GB后执行的操作。您还可以将其替换为空的系统不可变的snapshots.db文件,该文件可防止系统写入该文件,尽管每隔几分钟您会收到“断言失败”控制台消息。
我没有这个文件的实际用途;70-150 MB可以,但是它在我的系统上占用的磁盘空间是不可接受的。
我建议您也向苹果提交错误报告。
该systemstatsd
守护程序收集有关系统电源使用情况的系统统计信息的选择,并且它通常在后台不被注意运行。因此,一般而言,没有什么可担心的。
如果数据库文件变得太大(snapshots.db
),它可以当你停止/卸载该服务按照这个被清空后:
sudo launchctl stop com.apple.systemstatsd
sudo launchctl stop com.apple.systemstatsd.analysis
然后通过以下方式刷新文件:
sudo sh -c ">/private/var/db/systemstats/snapshots.db"