Google Chromeがテラバイト単位の仮想メモリを予約するのはなぜですか?

Google Chromeがテラバイト単位の仮想メモリを予約するのはなぜですか?

最近、システムの動作が遅くなり、htopリソース消費を確認しました。 Chromeでは、RES熱は正常です。コラムを213M読んでVIRTGoogle Chromeが採用されたことに驚きました1.1T! ! !

Chromeをシャットダウンして再開しましたが、まだ1.1TVIRTメモリを使用しています。 「Higher」VIRTが故障して修正が必要な場合は、どんなアドバイスでも役に立ちます。

ノートブックハードウェアの詳細。

Processor Intel® Core™ i3-4005U CPU @ 1.70GHz × 4 
Graphics NVD7 / Intel® HD Graphics 4400 (HSW GT2)
Memory 7.7 GiB
Disk Capacity 740.2 GB
// uname -srvmpio
Linux 5.13.0-41-generic #46~20.04.1-Ubuntu SMP Wed Apr 20 13:16:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
// Google Chrome version
Version 102.0.5005.61 (Official Build) (64-bit)

Google Chromeは1.1Tの仮想メモリを占めています。

答え1

これは、「ケージポインタ」と呼ばれるChromeのセキュリティ機能によるものです。このアイデアは、すべてのJavascriptオブジェクトをこの巨大な仮想アドレス空間に配置し、すべてのブラウザ専用アイテムをここに配置することで、誰かがJavascriptサンドボックスから離れようとしているかどうかを簡単に検出できることです。

バラよりhttps://docs.google.com/document/d/1HSap8-J3HcrZvT7-5NsbYWcjfc0BVoops5TDHZNsnko/edit

答え2

無視してくださいVIRT。私はそれを使用したり興味を持っている人を見たことがありません。

基本的に意味がありません。理由がわからないtop/htopまだ表示されます。

Mugurel Sumanariuはかつて次のように書きました。それについて:

VIRTプロセスが実際に使用するメモリ、プロセス自体にマップされるメモリ(共有メモリなど)の仮想サイズを表します。 VIRTは、プログラムが現在アクセスできるメモリ量を示します。

(メモリオーバーコミットが無効なシステムではこれは意味があるかもしれませんが、これらのシステムを使用したくありません。)

関連情報