文件管理器使用的 VIRT 内存较高

文件管理器使用的 VIRT 内存较高

我正在使用 elementary OS 及其默认文件管理器文件

我注意到,使用一段时间后,htop显示pantheon-files(应用程序的命名方式)消耗了超过 10Gb 的 VIRT 内存。

每次我打开图像时,这个值都会增加,并且似乎永远不会停止。

我不熟悉 VIRT 内存管理,所以我的问题是:对于文件管理器来说,这种行为是预期的还是有点正常的?或者这是内存泄漏?

答案1

这既不是预料之中的,也不是正常的。但你完全没有理由关心。你不应该对文件管理器如何使用虚拟内存抱有特别的期望。我不认为存在特别正常或不正常的使用模式。

这一切都归结于微小的设计决策。您是否对文件进行内存映射?何时取消映射?

除非有证据表明存在某种问题,否则任何人都没有理由关心。64 位操作系统上的虚拟内存非常便宜,因此您完全没有理由将其视为稀缺资源。您可以完全在另一个方向上进行权衡,程序员就是这样做的。

答案2

我不熟悉 Elementary 和 Files,但这对于一般进程来说是正常的。VIRT 不一定指使用的物理 RAM,而是指该进程的映射地址空间的大小。此地址空间将包括物理 RAM、共享对象和磁盘上打开的文件等。例如,我电脑上的 dropbox-3.6.7 VIRT = 3GB,但 RES = 100M,即 100MB 物理内存正在使用中,并且已访问了 ~3GB 文件。如果发生内存泄漏,您可能会看到 RES 缓慢增加。如果您愿意,请查看有关 TLDP 的文档,它解释得相当好。

VIRT = 虚拟进程大小。RAM、文件、一切。

RES = 物理内存中的驻留大小

SHR = 共享的 VIRT 数量,即可被其他进程使用。

呼呼!

相关内容