为什么 Google Chrome 保留 TB 级虚拟内存?

Mil*_*lan 14 linux ubuntu chrome htop

我的系统最近运行缓慢,我检查htop以确定资源消耗。RESColumn213M对于 chrome 来说是很正常的。看完VIRT专栏后我很惊讶,Google Chrome 竟然被采用了1.1T!!!

\n

我杀掉 chrome 并再次打开,它仍然使用1.1TVIRT 内存。VIRT如果“Higher”不正常并且需要修复,任何指针都会有所帮助。

\n

笔记本电脑硬件详细信息。

\n
Processor Intel\xc2\xae Core\xe2\x84\xa2 i3-4005U CPU @ 1.70GHz \xc3\x97 4 \nGraphics NVD7 / Intel\xc2\xae HD Graphics 4400 (HSW GT2)\nMemory 7.7\xc2\xa0GiB\nDisk Capacity 740.2\xc2\xa0GB\n
Run Code Online (Sandbox Code Playgroud)\n
// uname -srvmpio\nLinux 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\n
Run Code Online (Sandbox Code Playgroud)\n
// Google Chrome version\nVersion 102.0.5005.61 (Official Build) (64-bit)\n
Run Code Online (Sandbox Code Playgroud)\n

谷歌浏览器占用1.1T虚拟内存

\n

ali*_*234 12

这是因为 Chrome 的一项名为“笼式指针”的安全功能。这个想法是,你将所有 Javascript 对象放入这个巨大的虚拟地址空间中,并将所有浏览器私有的东西放入其中,然后你可以轻松检测是否有人试图突破 Javascript 沙箱。

请参阅https://docs.google.com/document/d/1HSap8-J3HcrZvT7-5NsbYWcjfc0BVoops5TDHZNsnko/edit


Art*_*nov 8

请忽略VIRT。我从未使用过或见过任何人使用或关注它。

\n

基本上没什么意义。不知道为什么top/htop仍然显示它。

\n

Mugurel Sumanariu 曾经写道:

\n
\n

VIRT代表进程的虚拟大小,它是它实际使用的内存、它映射到自身的内存(例如 X 服务器的显卡\xe2\x80\x99s RAM)、磁盘上的文件的总和被映射到它(最显着的是共享库),并与其他进程共享内存。VIRT 表示程序当前能够访问多少内存。

\n
\n

(在禁用内存过量使用的系统上,这可能意味着某些事情,但您不想使用这样的系统)。

\n

  • Chrome 是一种特殊的雪花,并不遵循几乎所有其他单用户桌面程序的正常约定。为什么?显然不要问这样的问题。 (6认同)