Mac顯示「系統」佔用太多硬碟空間?試試用這些方法把它清乾淨

shutterstock
有時候Macbook顯示的剩餘空間數字非常奇怪,這時候你可以試試文中提到的幾種方法。

我最近這兩天正在整理自己各種電子設備中的文件。沒用的刪掉,其他東西擺一擺位置什麼的。折騰一整天,本來想看一看刪了多少東西的時候,我發現了一個詭異的現象。我的硬碟剩餘空間變得非常小,甚至不如清理之前,而佔據空間最大的,竟然是「系統」。而上面寫的「223G可用」更是非常詭異,實際上可以用的剩餘空間20G都不到。

可能的情況

文件系統錯誤

遇到這種異常膨大的狀況時,首先會想到的可能性是文件系統錯誤。早在一年前,我的電腦就出現過類似的狀況,就是由於文件系統錯誤導致的,只不過那次膨脹的是「其他」,而這次是「系統」。於是我重啟進入 Recovery(開機時按住 ⌘Command-R)運行硬碟工具進行急救。對於系統硬碟而言,急救只有在Recovery中進行,才可以解決某些問題。

應用程式數據殘留

在以前版本的系統中,「其他」體積特別大而又搞不清楚為什麼大多數情況都是因為這個。

在macOS中,應用程式一般將自己的數據存放在:~/Library/Application Support中,在應用程式刪除時,這些文件並不會被自動刪除。目的是能夠讓你下次安裝軟體的時候直接繼續按照之前的狀態使用,但是macOS一直在這件事情上毫無節制,使得很多軟體殘留了大量的文件。

如果你對自己的電腦裡裝了什麼心裡很有數的話,是可以嘗試手動清理的。CleanMyMac雖然能夠清理掉很多這裡的緩存,但是會有不少漏網之魚。我刪掉了五六個還蠻大的文件夾,但是並沒有哪個文件夾能大到佔200G。

本機快照

本機快照是一個很早就有的特性。在蘋果檔案系統(Apple File System,簡稱APFS)中,當你對硬碟進行修改的時候,文件系統會將這些被修改的文件備份起來,生成一些快照。這些文件在一般情況下並不會佔用太多的空間,因為24小時後就會被系統刪除。但是如果你在一天之內刪除或者修改了太多的文件的話,就會出現這樣的狀況了。

雖然蘋果聲稱,這些文件將會在空間不足時自動刪除,但這些都是真實存在的空間佔用。假如你現在要進行的操作所需的空間大於當前的可用空間(比如安裝Boot Camp),就會出現問題。所以掌握清除本機快照的方法可以在關鍵時刻幫你解決問題。

如何清除本機快照

在macOS 10.13之前的版本中,文件儲存在/.MobileBackups這一文件夾中,可以直接刪除。而且也可以透過在終端中運行sudo tmutil disablelocal關閉本機快照功能。但是在10.13之後,APFS將本機快照引入了底層,快照文件的儲存位置實際上是在另一個分區中!(與APFS的容器格式特性有關)所以你無法手動刪除這些文件,而上面提到的關閉本機快照的命令也被蘋果移除了。

所以在APFS中,我們就需要更複雜的步驟來清除這些文件。首先在終端中輸入以下命令,列出快照列表。
    
sudo tmutil listlocalsnapshots /

圖中顯示了目前在本地磁盤中的快照列表,要刪除它們,你可以一個一個刪,也可以整個刪掉。刪除單個快照的命令是:
    
    
sudo tmutil deletelocalsnapshots [Date]

使用的時候把這裡的 [Date] 替換成上圖中的日期編號即可。注意只複製日期,如:
    
    
sudo tmutil deletelocalsnapshots 2018-03-19-055945

批量刪除的時候就比較複雜了,蘋果並沒有提供一個刪除全部快照的命令,只提供了另一個刪除指定大小快照的命令:
    
    
thinlocalsnapshots / [purge_amount] [urgency]

其中,[purge_amount]要填寫刪除的大小,以Byte為單位,[urgency]要填寫擠壓的程度,範圍從1到4,會使用不同的清除方案。

對於我們此處這個刪除全部的需求來說,我們直接把要刪除的大小設置為100G,擠壓程度為4即可。命令為:
    
    
sudo tmutil thinLocalSnapshots / 100000000000 4

運行需要一定的時間,執行成功後將會消除100G大小的快照。

圖裡少了個0,別介意。

接下來再嘗試列出快照列表,如果還有就再執行幾次,最多三次應該也就清理的差不多了。這時候再打開關於本機,就可以看到空間已經被釋放了。

什麼是本機快照

本機快照是Mac文件保護的機制中的一環。 Mac的備份主要由三部分構成:

  • Time Machine
  • 文件版本
  • 本機快照

首先第一個大家非常熟悉,Time Machine屬於定時備份,在固定的時間後進行一次增量備份,備份的位置必須是其他分區。在目標硬碟沒有滿之前,會一直保存下去。

第二個文件版本會在修改文件時,macOS會在/.DocumentRevisions-V100保存文件最近修改的版本,但是需要文件格式支持。備份與本分區共享可用空間,在沒有達到限制大小之前,會一直保存下去。有些時候一些影片文件被儲存了舊版本的話會導致極大的空間佔用,但還好這玩意比較容易清理,很多軟體都能做到。

本機快照則比較低層,對於磁盤中所有的文件修改,本機快照都會進行備份,備份與本分區共享可用空間。它與文件版本除了能夠支持所有文件這一區別外,還可以對磁盤的格式化進行恢復。但是這一備份只保留24小時,意味著該機制僅僅是作為一個備份到Time Machine之前的事故預防措施而存在的。所以清除本機快照一般情況下沒有任何風險。

一些嘮叨

不管是曾經困擾Mac用戶的「其他」還是現在的「系統」,都體現了一個問題,就是蘋果對與自己硬碟佔用的標示非常不明確。我個人認為,在圖表中清楚的標明備份所佔用的體積是非常有必要的。否則本機快照這樣一個頻繁變化且幅度如此之大的磁盤佔用會相當程度上影響用戶對硬碟剩餘空間的判斷,這個硬碟空間的圖表就變得沒有任何意義了。

由於本機快照功能現在直接整合在蘋果檔案系統之中,使得它已經不再能夠被關閉,而蘋果又沒有提供一個方便的方案來清理這些文件,希望以後能有一個優雅一點的解決方案。

本文授權轉載自:少數派

少數派

高品質數位生活指南。少數派幫你更好地運用數位產品或科學方法,提升你的工作效率和生活品質。

追蹤我們