
我在論壇上搜尋了答案,但找不到我正在尋找的答案 [1] ,所以我想這裡的更多人也會對此感興趣。
我大部分的工作都是在瀏覽器上完成的(或者如果你想這麼說的話,是為了瀏覽器)。我傾向於使用 Chrome,因為它本身就具有我需要的許多最新功能(DevTools 的東西,主要但不僅僅是)。順便說一句,我通常在具有 4GB RAM 和雙核心 CPU 的桌面 Vaio 上運行最新可用的 Chrome 版本/構建,Ubuntu 12.04 作為發行版,Gnome 作為視窗管理器。
所以,我很好奇 a) 為什麼 Chrome 會產生如此多的線程,甚至只打開四個選項卡中的三個,b) 有沒有辦法為 Chrome 分配更多內存以防止其性能下降?
先謝,
納喬
PS [1] 我發現了有關 Chrome 凍結或內存不足的線程,但沒有找到有關這種情況發生的原因或避免發生這種情況的線程。
PPS 當然,我總是可以購買一台更新、功能更強大的機器,這正是我想要評估的:這是過時的硬體問題還是該問題會繼續出現在任何(體面但不是很大的)機器上?
答案1
Chrome 將瀏覽器的每個主要部分分成單獨的進程。例如,瀏覽器本身就是它自己的進程,每個選項卡都是它自己的進程,每個擴充功能都是它自己的進程。也可能有一個單獨的 GPU 流程。 (您可以透過造訪 about:memory 查看這些詳細資訊)。
這裡的部分優勢是每個部分對其他部分的訪問受到限制。例如,如果擴充功能或標籤中存在惡意腳本,那麼(理想情況下)它只能影響其自身的進程,而不會導致整個瀏覽器崩潰。如果某個選項卡因某些原因被凍結,則只有該分頁(可能還有您從該分頁開啟的分頁)會被關閉,而不是整個瀏覽器。 (另請參閱:沙箱。)
您無法為 Chrome 預先分配記憶體;如果 Chrome 需要更多內存,並且內存可用,那麼它就會佔用它。請注意,限制條件也可能在 I/O 方面,因為 Chrome 必須讀取您的個人資料、偏好設置,以及至少部分啟動和一般使用的歷史記錄。 Linux 和Unix 有一個功能,可以讓你將檔案儲存在RAM 中,這將導致更快的存取(從記憶體讀取比從硬碟讀取更快,並且還可以減少多次寫入時的磨損),但具有潛在的潛力資料遺失(當電腦斷電或關閉時,RAM 的內容會遺失)。
有一個腳本叫設定檔同步守護程式它將瀏覽器設定檔和快取儲存在 RAM 中,並每小時將設定檔同步回硬碟。這意味著,如果您的電腦斷電或硬關機,您的個人資料和歷史記錄將保留最多一小時。 (正常關機時,腳本會將記憶體中的內容同步回硬碟。)請參閱上面的連結以了解更多安裝和資訊這Ubuntu 中的安裝頁面。
請注意,Chrome(ium) 將快取與您的設定檔分開存儲,並且腳本僅處理設定檔(管理快取超出了腳本的範圍)。您可能希望將快取從目前位置移動到設定檔目錄中,並在舊位置新增符號連結到新位置。