記憶體佔用很高,就代表一定要清理記憶體嗎
電腦剛開機時記憶體佔用不高,瀏覽器、聊天軟體和專案陸續開啟以後,百分比慢慢升上來。只看這個數字,很難判斷是正常使用,還是某個程式出了問題。先把佔用、壓力和實際卡頓放在一起看。
已用記憶體不全是 App 的檔案
Windows 會把檔案資料放在記憶體裡快取,也要給系統、驅動程式和正在執行的程式留空間。處理程序清單裡幾列數字相加,不一定等於整台電腦的已用記憶體。工作管理員的效能 › 記憶體頁可以查看可用記憶體、已認可和快取等資訊。
微軟的 RAMMap可以進一步查看實體記憶體的用途、處理程序工作集和檔案快取。它適合需要深入核對的人。平時先看工作管理員和工作時的變化就夠了。
「可用」和「已認可」是兩種讀數
「可用」不只包括完全空著的記憶體,也包括 Windows 可以拿回來再用的頁。一部分「已快取」的頁同時也算在「可用」裡,把兩者相加就會重複計算。處理程序清單裡的記憶體欄又有自己的口徑,每列加起來也代替不了整機的讀數。
「已認可」是 Windows 承諾給程式支援的記憶體。它的上限取決於實體記憶體和分頁檔,並不表示現在有多少資料在硬碟上。微軟的分頁檔說明講了這個差別。Mole 按認可記憶體給出的壓力提示,說明的是離這個上限有多近,不是換頁活動的測量。
舉個假設的例子。一台 16 GB 的電腦顯示已認可 18/32 GB。18 GB 是承諾的量,32 GB 是上限,並不表示電腦裝了 18 GB 記憶體,也不表示剛好有 2 GB 寫進了硬碟。判斷卡頓還要在卡住的那一刻一起看可用實體記憶體和磁碟活動。
硬錯誤不是記憶體條壞了
資源監視器裡的「硬錯誤/秒」統計的是需要從磁碟取回的頁,來源是分頁檔或對應檔案。名稱裡的錯誤不是硬體故障。開啟一個大型程式時出現一陣讀取,可能只是正常載入。每次切回視窗都伴隨反覆讀取和停頓,才值得和可用記憶體不足放在一起查。
Windows 的工作集說明把這類讀取和不用存取磁碟的軟錯誤分開。從某個 App 工作集裡移出的頁也可能還在 RAM 裡。想驗證一次改動,保持同一個專案和同一組瀏覽器索引標籤,只關掉一個不需要的工作,再重複剛才卡住的操作。
百分比、壓力和分頁各說明一件事
Mole 狀態頁顯示記憶體使用情況。壓力提示參考認可記憶體相對於認可上限的情況。下面的 App 記憶體清單則幫助找到具體程式。三處讀數不是同一個分母,不需要讓它們加起來剛好相等。
| 觀察 | 怎樣繼續判斷 |
|---|---|
| 開啟更多 App 後佔用上升,操作仍正常 | 核對正在使用的程式,未必需要處理 |
| 佔用升高,同時視窗和工作明顯變慢 | 看可用記憶體、認可情況和忙碌的 App |
| 一個 App 在同一工作下持續增長 | 記錄版本、工作和時間,檢查擴充功能或廠商已知問題 |
| 關閉工作後佔用下降 | 用同一個工作場景複查,不把一次下降當成永久解決 |
分頁檔為系統提供另一部分記憶體支援,不是看到佔用就應該刪除的大檔。空間吃緊時先看磁碟裡實際裝著什麼。
先減少自己不用的工作
瀏覽器索引標籤、背景同步和同時開啟的專案都可能佔用記憶體。先儲存工作,關閉目前不需要的內容,再觀察同一個工作有沒有恢復順暢。Mole 的處理程序搜尋可以按 App 名稱、處理程序名稱和 PID 找到相關程式。群組裡有子處理程序時一起核對它們的用途。
不要為了讓記憶體百分比下降,就結束系統處理程序或多個軟體共用的執行階段。清理快取也不等於解除安裝正在執行的程式。清出的磁碟空間不會直接變成 RAM。
清空記憶體以後,還要重新使用它
工具釋放一部分快取或讓工作集縮小,數字可能馬上下降。但重新開啟檔案和切回 App 時,資料還需要讀回來。判斷有沒有幫助要看實際工作,而不是截圖裡一個更低的佔用。
如果日常工作經常同時需要更多記憶體,可以減少平行工作,或核對電腦是否支援擴充。記憶體焊在主機板上的筆記型電腦沒辦法直接加條。持續 CPU 佔用也會讓操作變慢。另一個排查入口在 Windows CPU 指南。先確認瓶頸,再決定要改什麼。