我的筆記型電腦遇到了問題,記憶體不足,無法運行遊戲,我將 Chrome 視為通常的記憶體消耗者。我只重新啟動電腦來獲取更新,並且通常讓 Chrome 保持運行狀態,打開太多選項卡,沒有停止,所以它消耗記憶體是可以理解的。令我困擾的是,即使當我檢查並開始修剪選項卡時,我也沒有看到像預期一樣多的記憶體返回。根據記錄,我唯一的插件是 adblock,我嘗試停用它,但這似乎並沒有解決根本問題。
作為一項實驗,我使用了一個打開了一段時間的 Chrome,然後關閉了除一個選項卡之外的所有選項卡,該選項卡被打開到堆疊交換主頁。我查看了 Windows 工作管理員和 chrome 自己的任務管理器報告的記憶體使用情況。然後我完全關閉了 chrome,重新打開它,並立即導航到同一個堆疊交換網站並檢查記憶體使用情況,我發現新重新開啟的 chrome 和先前開啟的 chrome 之間存在相當大的記憶體差異。
查看 chrome 的任務管理器,主要 chrome 進程的記憶體使用量從約 400K 降至約 100K,adblock 外掛程式同樣從 250K 降至 100K。分配給堆疊交換標籤的記憶體使用量大致相同,其他所有內容的記憶體消耗都可以忽略不計。
當我讓 chrome 運行時,大約有一半的記憶體似乎被「洩漏」了。我對內存管理通常是如何完成的有足夠的了解,並且我給予 chrome 懷疑的好處,假設這些內存並沒有真正洩漏那麼多,因為 chrome 現在已經過度分配了可用內存,並且只是貪婪地釋放它。
我的主要問題是,有沒有更好的方法來回收這些過度分配的內存,而不必完全重新啟動 chrome?假設我已經花時間清理了一半的選項卡,但我仍希望另一半保持開啟。我可以讓chrome 來整合已使用的內存並釋放多餘的內存,這樣chrome 只保留我想要保留的選項卡實際需要的內存,同時回饋足夠的內存,以免殺死我可憐的糟糕的筆記本電腦(如果我敢於嘗試玩遊戲的話)遊戲?