Ubuntu 18.10 top 报告了 Geary 大量消耗虚拟内存。这里发生了什么?
17194 stephen 20 0 *99.5g* 814024 88196 S 0.3 10.0 88:12.44 geary
Ubuntu 18.10 top 报告了 Geary 大量消耗虚拟内存。这里发生了什么?
17194 stephen 20 0 *99.5g* 814024 88196 S 0.3 10.0 88:12.44 geary
如果 Geary 运行了很长时间,则可能是内存泄漏,因此泄漏的内存正在分页交换。周围有一些,只要我能找到它们,我就会修复它们,而且针对新版本的 vala 编译 Geary 通常会有所帮助。
然而,它更有可能是WebKit Gigacage,它是一种安全功能,使攻击者更难在您的计算机上运行恶意代码。它通过预先分配几个大的(32G)虚拟内存块来分别存储不同类型的网页数据来做到这一点。尽管它分配了这些大块,但实际使用的却很少——仅足以显示页面。
由于 Geary 使用 WebKitGTK 来呈现电子邮件(甚至是纯文本电子邮件),因此它在启动时会分配许多 Gigacage。您可以通过比较也使用 WebKitGTK 的其他应用程序的虚拟内存大小来确认这一点,例如 GNOME Web,或者在启动后立即查看 Geary 的虚拟内存大小。
虚拟内存用于像这样的预分配、内存映射文件以及其他一些实际上不使用任何内存的东西。因此,它不是确定程序使用多少内存的非常有用的指标,也不值得担心。注意程序的驻留集大小和正在使用的交换量。