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