火狐在正常使用過程中會消耗相當多的系統記憶體,這已經不是什麼祕密了。雖然您開啟的選項卡和安裝的附加元件的數量肯定會有所貢獻,但即使是保守使用的開箱即用安裝也會報告相當多的記憶體使用量。
這使得一些Firefox外掛浮出水面,聲稱可以釋放瀏覽器不再需要的記憶體,但它們真的可以工作嗎?
在我們深入研究記憶體清理器之前,瞭解一下Windows處理記憶體的方式是很重要的。這將是重要的,這樣我們就可以解釋我們的實驗結果。
別擔心,我們會在一個非常高的層次上討論這個問題,這樣你就不必是超級極客了。
作為一個簡短的免責宣告,這是一個非常簡短的總結,非常基礎的Windows記憶體管理。這決不能被認為是權威性的或決定性的,因為它只是解釋到適用於本條主題的水平。
Windows非常聰明,知道未使用的實體記憶體是浪費記憶體,所以它會將所需的一切載入到記憶體中。但是,只有系統實際需要的(包括Windows和應用程式)以及當前正在使用的內容才會報告為已用實體記憶體。其餘的(Windows認為它將需要的)駐留在所謂的虛擬記憶體中。
虛擬記憶體本質上是作業系統不需要的資料,但隨時可以載入到活動記憶體中。您可以使用以下公式非常粗略地計算系統在任何時候的虛擬記憶體量:
Virtual Memory = (Total Physical Memory – Used/Active Physical Memory) + Maximum System Page File Size
因此,假設您有一個實體記憶體為4GB的系統,最大頁面檔案為6GB。然後啟動Windows並開啟一些應用程式(Outlook、Firefox等),Windows報告正在使用2.5gb的實體記憶體。這意味著您有1.5 GB的“未使用”實體記憶體和6 GB的頁面檔案,總共有7.5 GB的可用虛擬記憶體。
請記住,作業系統足夠聰明,可以知道未使用的實體記憶體是浪費記憶體,因此它將用它預期您將需要的內容填充剩餘的1.5個實體記憶體,以便幾乎可以立即按需訪問。這可以是任何東西,從最小化的後臺程式資料到常見的作業系統功能。
那麼,當Windows的實體記憶體不足,無法用作虛擬記憶體時會發生什麼呢?它將這些資料寫入系統頁面檔案,該檔案是硬碟上的一個巨大檔案(在我們的例子中是6gb)。雖然這使得作業系統能夠儲存幾乎所有需要儲存在記憶體中的資料,但將這些資訊寫入硬碟或從硬碟中檢索(也就是頁面錯誤)要比從實體記憶體訪問慢幾個數量級。這就是為什麼實體記憶體越多,系統執行就越快。系統使用的頁面檔案越少,執行速度就越快。
對於我們的調查,我們將只使用Windows工作管理員。我們將跟蹤以下列(描述在Microsoft的頁面上定義):
我們將使用firefox4.0.1的開箱即用安裝,只加載記憶體Fox外掛。在Firefox中,我們將開啟以下選項卡,除了上下滾動載入的頁面之外,不會做任何其他事情。
在等待載入完成之後,Windows工作管理員為Firefox報告了以下內容。
現在,當我們啟動MemoryFox外掛時,看看報告的記憶體使用量的急劇下降。
還要注意的是,這個附加元件啟動了一個新的程序,它處理記憶體函式。
讓Firefox保持空閒狀態,觀察工作集和記憶體值,您可以看到Firefox需要活動實體記憶體,而記憶體清理器外掛需要回收這些記憶體,這兩者之間存在著持續的鬥爭。
以下是報告的Firefox空閒時每幾秒鐘佔用的記憶體。
注意工作集和記憶體值的下降。這是回收系統記憶體的記憶體清理程式。
在上升一點之後,你可以看到另一個下降點。
泡沫。沖洗。重複。
此外,如果你什麼也不做,只是切換標籤和上下滾動載入的頁面,你可以看到數字波動有點劇烈,這將解釋如下。
當你第一眼看到它的時候,你會想,嘿,這很管用。但是看看Commit Size列,您會發現這個值實際上從未改變。事實上,一旦啟動記憶體清理外掛,它就會上升。
記住,Commit Size列報告Windows執行相應應用程式所需的實際記憶體量(物理+虛擬)。因此,在我們的示例中,~120MB是專門為Firefox保留和啟用的,並且駐留在未使用的實體記憶體和/或系統頁面檔案中。還請記住,如果需要使用頁檔案,則會對效能產生顯著影響,因為虛擬記憶體必須寫入硬碟並從硬碟中讀取,而硬碟的速度明顯慢於物理記憶體。
因此,從本質上講,記憶體清理器是將活動實體記憶體移動到虛擬記憶體(因為記憶體是可回收的,所以必須去某個地方)。當這種情況發生時,Firefox不再有可用的記憶體,因此它必須要求Windows將所需的資料從虛擬記憶體移回實體記憶體。我們繞來繞去…
在最好的情況下,這個過程沒有任何用處,在最壞的情況下,它會導致大量不必要的頁面錯誤,因為,同樣,如果Windows必須使頁面檔案發揮作用,那麼效能將受到明顯的影響。在沒有太多實體記憶體(幾乎所有的虛擬記憶體都儲存在一個頁面檔案中)的系統上尤其如此,這很諷刺,因為這些都是記憶體清潔器“設計”的系統。
整個故事的寓意很簡單,記憶清潔器什麼也不做,只是在數字周圍移動。任何作業系統都會知道如何恰當地處理記憶體,所以就讓他們自己動手吧。
既然我們已經證明了記憶體清理外掛並沒有真正起到任何作用,那麼對於Firefox使用的大量記憶體,您能做些什麼呢?以下是一些建議:
Firefox的Memory Fox下一個附加元件
...錄檔清理器類似,許多軟體聲稱可以“最佳化”計算機的記憶體(RAM),這樣程式就不會過度使用記憶體。不出所料,你也應該避免這些。我們查看了CleanMem,這是一個用於此任務的流行選擇,並發現了開發人員方法的幾個問題...
... CleanMem是一個免費的工具,據說可以幫助Windows中的記憶體管理。為了幫助減少軟體使用的RAM數量,CleanMem每15分鐘呼叫一次Windows記憶體管理API,以竊取未使用的RAM。根據開發者的說法,這比允許Windows自己管理記憶體要好。...
... Chrome、Firefox、Opera和MicrosoftEdge都將每個選項卡、外掛和擴充套件儲存在不同的RAM程序中。這個過程稱為隔離,防止一個程序寫入另一個程序。 ...
... 英特爾的Optane記憶體就是其中之一。但是什麼是Optane?這是否意味著您不再需要實際的系統RAM?我們來看看。 ...
...一,因為它針對蘋果的硬體進行了高度最佳化。與Chrome或Firefox相比,MacBook的電池續航時間更長,大多數機器的效能也更為搶眼,這兩種瀏覽器都是臭名昭著的記憶體大戶。 相關報道:Mac使用者應該放棄Google Chrome,轉而使用Safar...
...多數垂直選項卡擴充套件都有內建的分組或“樹”特性。Firefox透過樹形標籤擴充套件推廣了垂直標籤,但是Chrome、Opera和基於Chrome的邊緣瀏覽器的使用者可以使用標籤大綱檢視擴充套件。 如果您想要一個自動將選項卡組織成組...
二十年前,溫納普是未來。現在是遙遠的記憶。怎麼搞的? Winamp(Windows高階多媒體產品)於1997年4月21日問世,當時在電腦上聽音樂是一個新奇的概念,大多數人不知道“MP3”是什麼意思。Winamp並不是第一個PC音樂播放器,但...
...。當您登入到Windows時,它會將這些檔案中的設定載入到記憶體中。啟動程式時,它可以檢查儲存在記憶體中的登錄檔以查詢其配置設定。當您更改程式的設定時,它可以更改登錄檔中的設定。當您登出PC並關機時,它會將登錄檔...
...來,人們一直在抱怨Chrome:“它佔用了太多記憶體!現在FirefoxQuantum出現了,一些使用者看到的RAM使用量比Chrome要少,而另一些使用者則看到了相似的數量。而且它似乎對人們使用的瀏覽器有很大的影響。 但是RAM的使用並不是天...
從FirefoxQuantum正式釋出前開始,我已經連續使用了一個多星期了。多年來,我覺得每一個Firefox版本都比Chrome慢。但是火狐現在又是一個真正的、快速的、現代的選擇。足夠讓我從Chrome切換回Firefox。 當然,很高興Firefox處於劣勢...