顶部输出中的小写“g”代表什么意思?

顶部输出中的小写“g”代表什么意思?

有人可以帮忙解释一下吗,我一直习惯将top输出中的“g”解释为千兆字节大小,尽管惯例是使用大写的“G”,但现在我有点重新考虑了。

当我监控我的系统内存使用情况时,我发现 Chrome 使用的内存量高达1132.9gVIRT 列以下——对于我计算机中的资源来说,这是一个不可能达到的内存量。

这怎么可能?

在此处输入图片描述

答案1

我总是习惯将顶部输出中的“g”解释为千兆字节大小,尽管惯例是使用大写的“G”,但现在我改变了主意。

这是 GB 级的数据。procps-ng 开发人员希望用户在编译时选择大写或小写。真的。

当我监控我的系统内存使用情况时,我发现 Chrome 在 VIRT 列下使用了高达 1132.9g 的内存 - 对于我电脑中的资源来说,这是一个不可能的内存量。

虚拟仿真测试系统没有关系使用您计算机中的资源。(因此得名“虚拟”)。它代表虚拟内存地址空间,以及虚拟地址空间的每个区域可能由实际的 RAM 支持,但也可能由其他东西支持——例如内存映射文件或者什么都没有(“新鲜的” RAM 支持的匿名映射并不是全部预先保留的;它只有在变脏时才会开始消耗 RAM)。

对于 Web 浏览器,尤其是 Chrome,可能会使用大量空映射来强化 JavaScript,类似于 WebKit 的千兆网箱哪个Chrome 还实现了只要映射基本保持不变,它基本上也不会占用任何 RAM – 除了页表条目的几 kB 或 MB。(VSCode 在这里算作“网络浏览器”,因为它的 Electron 运行时实际上是 Chrome,甚至“ng serve” – 即 Node.js – 使用与 Chrome 相同的 JavaScript“V8”引擎。)最后,对于 GNOME Shell 进程,我怀疑它与 GPU VRAM 访问有关,尽管我不太确定。

tl;dr 您看错了列。仅仅因为它碰巧以兆字节计算并不意味着它是系统内存使用量。

相关内容