這個文件夾是什麼?它很大,我可以使用多餘的空間。我讀過不需要睡眠圖像-是這樣嗎?我應該處理嗎?是“私人”文件夾是自動清空的,還是我必須手動進行?如果它沒有用(或不需要),有什麼方法可以防止它將來再次出現?
這個文件夾是什麼?它很大,我可以使用多餘的空間。我讀過不需要睡眠圖像-是這樣嗎?我應該處理嗎?是“私人”文件夾是自動清空的,還是我必須手動進行?如果它沒有用(或不需要),有什麼方法可以防止它將來再次出現?
/ 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),在受支持的便攜式計算機上默認為。系統會將內存副本存儲到永久性存儲(磁盤)中,並在睡眠期間為內存供電。系統將從內存中喚醒,除非斷電迫使其從磁盤映像恢復。
休眠模式 = 25(二進制0001 1001)只能通過pmset設置。系統會將內存的副本存儲到永久性存儲(磁盤)中,並切斷內存的電源。系統將從磁盤映像還原。如果您想“休眠”-更慢的睡眠,更慢的喚醒和更長的電池壽命,則應使用此設置。
我在MacBook Air上使用了休眠模式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
系統無法再創建sleepimage。這對我來說非常有效,而且我的Mac上已經有4個月沒有出現任何問題了。
請不要刪除/ private / var / vm,它是操作系統經常使用的交換文件。
當您需要較少的交換或重新啟動操作系統時,它將減少此處使用的文件數量
如果它不佔用太多空間(如您的情況),我將保持原樣。專用文件夾中的內容不應該被弄亂。它是Mac建立在UNIX系統上的一部分,因此不可見。這就是為什麼他們將文件夾命名為 private 。但是,像您以前使用的軟件一樣,該文件夾可見,這不是一件好事。
話雖如此,您可以毫無問題地刪除此睡眠圖像,但是我不建議您這樣做。如果您確實需要4GB,請嘗試為電影,音樂等使用硬盤驅動器,並使用您自己的文件而不是系統文件來節省空間。
對最佳答案的補充說明:
由於您可以選擇禁用睡眠圖像,也可以激活它,但是在喚醒後被迫保持睡眠圖像,我發現了一個骯髒的小竅門首選解決方案:擁有一個睡眠映像,但在喚醒後將其刪除以釋放磁盤空間。如果您像我一樣不斷在小型SSD上徘徊2-6 GB的可用空間,這可能就是您的解決方案。
只需將sleepimage指向您的 .Trash
sudo pmset -a hibernatefile〜/ .Trash / sleepimage
這只是一個可行的解決方案,如果您只能在Mac上使用一個帳戶。您將無法輕鬆地從另一個帳戶刪除睡眠文件(當然,如果另一個帳戶具有足夠的權限,您也可以這樣做,但是這樣做會失去它的簡單性,因為這不僅意味著單擊垃圾箱)。
如果出於任何原因要返回到出廠設置,只需鍵入
sudo pmset -a hibernatefile / var / vm / sleepimage
(注意:我使用的是10.8,在其他版本中可能會有所變化,只需檢查 man pmset
即可。)
sudo pmset -a hibernatefile / dev / null / sleepimage