Safari 記憶體佔用高,先檢查標籤頁、延伸功能和網站
Safari 排在記憶體列表前面,不代表它一定出了問題,先記下開啟了什麼、Mac 用起來有沒有卡頓,再一次只改一個標籤頁或延伸功能,能重複得到改善才有參考價值,結束所有應用程式後數字暫時變小,說明不了原因。
把記憶體數字放回使用情境
Apple 的活動監視器記憶體指南解釋了記憶體壓力、壓縮記憶體和交換空間,在活動監視器的記憶體頁面記下 Safari 相關程序,同時看壓力圖和 Mac 是否回應順暢。
閒置記憶體不是唯一值得看的狀態,Apple 也介紹了系統用暫時閒置的記憶體快取檔案來改善效能,佔用高但瀏覽順暢,和持續出現壓力、操作卡住是不同的現象,圖表本身另看記憶體壓力說明。
| 看到什麼 | 下一步對比 | 能幫助判斷什麼 |
|---|---|---|
| 開啟了很多網頁 | 儲存工作後關掉不需要的標籤頁 | 目前開啟的內容是否影響佔用 |
| 懷疑一個網站 | 只開啟該網站測試 | 問題是否跟著網站出現 |
| 開著延伸功能 | 暫時停用延伸功能再對比 | 延伸功能是否參與其中 |
| 私密視窗表現不同 | 分開核對延伸功能後再比較 | 是否需要檢查階段資料或延伸功能 |
這些現象都不能直接證明記憶體洩漏,對比時盡量保持網頁、操作和測試時間一致,不拿閒置視窗和正在工作的網頁應用程式比較。
別只看 Safari 這一列
WebKit 架構文件介紹了網頁執行在 WebContent 程序中,與應用程式本身及共享的網路程序分開,所以只看名為 Safari 的一列,可能漏掉一部分佔用。
記下活動監視器實際顯示的名稱,如果某一列顯示網站名稱,就把它當成線索,與對應頁面做對比,不把它當成每個標籤頁都固定對應一個程序的證明。
測試前先儲存可疑網頁裡沒完成的工作,在 Safari 內關掉頁面,比直接終止不熟悉的輔助程序更容易做出有意義的對比。
減少標籤頁,先保留需要的內容
Apple 介紹了關閉單一標籤頁的方法,從不再需要的頁面開始,留下懷疑的網站,重複同一個操作,同時看記憶體和回應是否變化。
其他 Safari 視窗和使用中的標籤頁群組也要列出來,Apple 的標籤頁群組指南介紹的是整理網頁,不是測量記憶體,不能按一個群組裡有多少標籤頁,推斷它目前用了多少 RAM。
減少開啟的內容後如果有改善,下次只開啟目前工作需要的頁面,如果單獨開啟同一個網站就能重現,接下來圍繞該網站排查,不去刪除無關瀏覽資料。
分開測試延伸功能和私密視窗
Apple 的 Safari 疑難排解步驟包括停用延伸功能和測試私密視窗,改動前先記下哪些延伸功能正在啟用,測試結束才知道怎麼恢復。
- 儲存工作,在 Safari 設定裡停用延伸功能,再測試同一個頁面。
- 如果有改善,逐一重新啟用延伸功能,每次都做同樣的對比。
- 另外用 Shift-Command-N 開啟私密視窗,測試同一個網站。
- 測完恢復原來的延伸功能選擇,已經確認有問題的延伸功能除外。
私密視窗裡變好只是線索,不是診斷結論,登入狀態、已存資料和延伸功能權限都可能不同,先核對這些差別,不直接認定網站已經恢復正常。
Apple 的同一頁面介紹了私密測試有效後,移除受影響網站資料的方法,做之前準備好登入資訊,和延伸功能測試分開進行,磁碟快取的處理另看瀏覽器儲存指南。
不讓標籤頁一直累積
Apple 目前的標籤頁設定指南列出了自動關閉標籤頁的時間,一天、一週或一個月,也可以手動關閉,找設定前先核對指南的版本選擇與自己安裝的 Safari。
如果目前版本有這個選項,先儲存以後還要用的連結,再選時間間隔,改回手動可以停止之後的自動關閉,但找不回已關閉標籤頁裡沒儲存的工作,找不到選項就手動關閉,不照 iPhone 的設定路徑操作。
核對改善是否持續
用同樣的網頁和延伸功能選擇,再做一次原來的瀏覽工作,記下卡頓是否回來、涉及哪個網站,以及在類似操作中記憶體是否持續上升。
如果始終是一個網站觸發,保留這些資訊交給網站開發者,Apple 的疑難排解頁面也介紹了透過 macOS 更新取得 Safari 更新,換瀏覽器可以用來對比,但 Chrome 的輔助程序名稱和行為另看 Chrome 輔助程序指南。
Mole 在這裡能做什麼
Mole Mac 狀態頁的程序列表可以按記憶體排序,對比應用程式的記憶體佔用,它會歸併能識別所屬應用程式的程序,也包括歸屬於該應用程式的 WebKit 程序,因此應用程式列不是 Safari 標籤頁列表,改動在 Safari 內做,Mole 用來對比應用程式層面的記憶體。
常見問題
Safari 記憶體高就一定有問題嗎?
單一佔用數字證明不了故障,結合記憶體壓力、操作是否順暢,以及同樣瀏覽工作的前後表現,再判斷介入有沒有幫助。
私密視窗更流暢,就說明是延伸功能的問題嗎?
不能,網站儲存資料和登入狀態也可能不同,延伸功能要分開測試,測完恢復原來的選擇。
想減少 RAM 佔用,要清 Safari 磁碟快取嗎?
磁碟空間變多不能證明記憶體問題解決了,先定位頁面或延伸功能,再用同樣的工作重新對比。