这个文件夹是什么?它很大,我可以使用多余的空间。我已经读过sleepimage是没有必要的 -是这样吗?我应该处理吗?是“私人”文件夹是自动清空的,还是我必须手动进行?如果它没有用(或不需要),有什么方法可以防止它将来再次出现?
这个文件夹是什么?它很大,我可以使用多余的空间。我已经读过sleepimage是没有必要的 -是这样吗?我应该处理吗?是“私人”文件夹是自动清空的,还是我必须手动进行?如果它没有用(或不需要),有什么方法可以防止它将来再次出现?
Answers:
/var/vm/sleepimage
用于存储休眠期间的RAM内容,以及Mac笔记本电脑默认使用的混合休眠和睡眠模式。如果您有8 GiB的RAM,/var/vm/sleepimage
则大约需要8 GiB的磁盘空间。我不知道为什么从睡眠中醒来后却不删除它。可能是要确保有足够的可用磁盘空间,或者如果磁盘空间不足,则不会将其存储在不连续的块中。
您可以/var/vm/sleepimage
安全地删除,但是在Mac进入睡眠状态时会重新创建。如果运行sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage
,则Mac将使用正常的睡眠模式(默认情况下为台式机Mac),并且不会重新创建/var/vm/sleepimage
。
来自man pmset
:
在受支持的桌面上,默认情况下hibernatemode = 0(二进制0000)。系统不会将内存备份到持久性存储。系统必须从内存内容中唤醒;系统将失去有关断电的情况。从历史上看,这是普通的老睡眠。
在受支持的便携式计算机上,默认情况下,hibernatemode = 3(二进制0011)。系统会将内存副本存储到永久性存储(磁盘)中,并在睡眠期间为内存供电。除非断电迫使系统从磁盘映像还原,否则系统将从内存中唤醒。
只能通过pmset设置hibernatemode = 25(二进制0001 1001)。系统会将内存副本存储到永久性存储(磁盘)中,并切断内存电源。系统将从磁盘映像还原。如果要“休眠”-更慢的睡眠,更慢的唤醒和更长的电池寿命,则应使用此设置。
我在MacBook Air上使用了hibernatemode 0。即使MacBook Air在电池快要耗尽时进入睡眠状态,在睡眠期间电池也通常不会完全耗尽。/var/vm/sleepimage
占用了大约4 GiB的磁盘空间,写入数百或数千次可能会缩短SSD的寿命。
另外:丹·巴雷特(Dan Barrett)关于重新创建睡眠图像的说法是正确的。但是,有一种解决方法,因此可以永久释放sleepimage占用的磁盘空间。
整个步骤:
禁用休眠模式:
sudo pmset -a hibernatemode 0
删除/ private / var / vm / sleepimage:
sudo rm /private/var/vm/sleepimage
创建一个空文件并将其命名为“ sleepimage”:
sudo touch /private/var/vm/sleepimage
将其标志更改为不可变:
sudo chflags schg /private/var/vm/sleepimage
这样,系统无法再创建睡眠映像。这对我来说非常有效,而且我的Mac上已有4个月没有出现任何问题了。
如果不占用太多空间(如您的情况),我将保持原样。私有文件夹中的内容不应该被弄乱。它是Mac构建在UNIX系统上的一部分,因此不可见。这就是为什么他们称该文件夹为private。但是,就像您使用的软件一样,使它可见,这不是一件好事。
话虽如此,您可以毫无问题地删除此睡眠图像,但是我不建议您这样做。如果您确实需要4GB,请尝试为电影,音乐等使用硬盘驱动器,并使用您自己的文件而不是系统文件来节省空间。
最佳答案的其他说明:
由于您可以选择禁用睡眠映像,也可以激活它,但是在唤醒后又被迫保留它,因此我找到了我的首选解决方案的小技巧:拥有一个睡眠映像,但在唤醒后将其删除以释放磁盘空间。如果您像我一样不断在小型SSD上徘徊2-6 GB的可用空间,那么这可能就是您的解决方案。
只需将sleepimage指向您的.Trash
文件夹,然后在唤醒后清空垃圾桶即可。
sudo pmset -a hibernatefile ~/.Trash/sleepimage
如果您在Mac上仅使用一个帐户,则这只是一个可行的解决方案。您将无法轻松地从另一个帐户中删除sleepfile(当然,如果另一个帐户具有足够的权限,您也可以这样做,但这会失去它的简单性,因为这不仅意味着单击垃圾箱)。
如果出于任何原因要返回到出厂设置,只需键入
sudo pmset -a hibernatefile /var/vm/sleepimage
(注意:我使用的是10.8,在其他版本中可能会发生变化,请检查man pmset
以确保安全。)