簡體   English   中英

Google Chrome 瀏覽器是否有內存限制?

[英]Is there any memory limit for Google Chrome browser?

chrome 中單個選項卡的默認內存限制是多少?

很難正確回答,答案只能在具有特定構建的特定任務的基准測試中找到。

有幾件事可以讓您使用 1 到 2 GB 的內存:

  • Chrome 版本:因為不同的 V8 引擎有不同的內存限制。
  • Chrome 平台:32 位或 64 位。
  • 操作系統本身:chrome 可以為不同的平台使用不同的標志構建。
  • 同樣,Chrome 版本:互聯網上有一些關於使用一些編譯標志重新編譯 chrome 的討論,這些標志可以允許使用更多內存,然后由於某些原因,chrome 開發人員決定排除這些標志。 誰知道——也許他們會再次包含它們,或者會增加默認堆大小。
  • 顯存:在某些情況下,頁面的內容可能需要一些顯存,如果您的視頻適配器沒有足夠的內存,Chrome 將從一般內存中獲取它,這會增加頁面的內存使用量。

現在,使用 64 位 Chrome 版本 47,在 Windows 8.1 上,我最多可以使用一個標簽占用 1.8GB,然后崩潰。

更新:

正如我所看到的,發生了一些神奇的事情,限制也發生了變化。
對於 Chrome 63 版,在 x64 Windows 10 操作系統上,我最多可以分配 3.5 GB 內存,解析一個巨大的 JSON 字符串,然后將其顯示在頁面上。
該數字取自 Chrome 的任務管理器和 Process Explorer 的Private Bytes指標。

有人在談論一個非常相似的話題。 這里

您應該嘗試以下操作:

右鍵單擊 Chrome 圖標並轉到屬性。 Chrome 應該在這里:

"C:\Documents and Settings\%USER%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" 

顯然,%USER% 是您 PC 上的用戶名;)

在行尾添加--purge-memory-button

它應該是這樣的:

"C:\Documents and Settings\%USER%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --purge-memory-button 

現在,當 Chrome 工作時,按 shift+Esc,現在你有了一個新選項,“清除內存”,它可以釋放內存。 在特定時間不需要注意的選項卡將從您的 RAM 中清除。

您還可以添加以下行之一:

永遠不要主動放棄記憶

--memory-model=high  

切換標簽時自動減少工作集

--memory-model=medium 

在切換選項卡時以及當

--memory-model=low 

瀏覽器沒有被積極使用

您可以在目標位置"C:\\Documents and Settings\\%USER%\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe"

假設我們要使用“清除內存”行和“低內存模型”行。 它看起來像這樣:

"C:\Documents and Settings\%USER%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --purge-memory-button --memory-model=low 

一旦您在具有特定版本的特定平台上進行基准測試,您就可以獲得完美的答案。 結果僅適用於您試驗的該平台和 chrome 版本,因為有很多因素可能會對結果產生不同的影響,包括,

  1. Chrome 版本可能有不同的 v8 引擎,並不是所有的 v8 引擎都有相同的內存限制。 此外,當我們對 chrome 進行基准測試時,32 位和 64 位架構就會出現。 默認堆大小可能因 v8 版本而異。

  2. 運行 chrome 的系統配置。 chrome 需要圖形內存/視頻內存,如果沒有,它將使用內部內存,從而導致更多內存使用。

  3. 它還與進程本身有關,每個線程都需要一些內存用於bookkeeping ,特別是它的堆棧。 32 位進程只能尋址 4 GB 的內存。 64 位進程沒有地址空間問題,而是實際分配問題。 但是,程序不應接近任何此類限制或需要擔心它,這同樣適用於 chrome。

我曾嘗試從 chrome 從 PHPMyAdmin 導出和打印數據庫。 它在數據庫中有 1.22GB 的大小,並且 chrome 崩潰了。 我對文件導出所做的同樣的事情,神奇的是它工作正常。

關於 v8 引擎,它在 32 位系統上有 512MB 的內存限制,在 64 位系統上有 1434MB(1.4 GB)的內存限制。 chrome有v8它的心臟,這是影響內存限制的主要因素。

我能提高我的內存限制nw.js通過將以下命令行選項(鉻)基於destkop應用:

Node.js: node --max_old_space_size=12288 script.js
Google Chrome: chrome.exe --js-flags="--max_old_space_size=12288"
NW.js: add "js-flags": "--max_old_space_size=12288" to the package.json.

調整 12288 (12GB) 以滿足您的需求

如果您運行的是 32 位 Chrome,則不能分配超過 2 GB,因為這是 32 位 Windows 進程的進程限制。 對於 64 位 chrome,有 4GB 的限制。 Chrome 不允許分配超過 4Gb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM