进程的虚拟内存大小增加会导致任何问题吗?

进程的虚拟内存大小增加会导致任何问题吗?

我有一个长时间运行的进程,它也使用大量内存并频繁分配和释放内存。

常驻内存大小(top 命令上的 RES)在 15~20 GB 之间。然而,虚拟内存大小(VIRT on top 命令)不断从 10~20 GB 增加到超过 100 GB。

程序没有崩溃,但我想知道(1)为什么VIRT大小会增加? (2) 是否会导致程序出现问题?

答案1

(1)为什么VIRT大小会增加?

这可能是由于内存碎片和/或内存泄漏,即某些内存区域可能永远不会被释放。

(2) 是否会导致程序出现问题?

如果增加永远不会停止,虚拟内存最终可能会耗尽,导致程序崩溃。如果您使用不会过度使用内存的操作系统,这种情况会发生得更快。

相关内容