![Ubuntu 18.10 上的 geary:报告虚拟内存消耗较大](https://linux22.com/image/1065286/Ubuntu%2018.10%20%E4%B8%8A%E7%9A%84%20geary%EF%BC%9A%E6%8A%A5%E5%91%8A%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%E6%B6%88%E8%80%97%E8%BE%83%E5%A4%A7.png)
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 启动后立即查看其虚拟内存大小。
虚拟内存用于预分配(如内存映射文件)以及实际上不使用任何内存的其他一些事情。因此,它不是确定程序使用多少内存的非常有用的指标,也不值得担心。请留意程序的常驻集大小和正在使用的交换量。