我有一个长期运行的过程,它也使用了大量的内存,并且经常分配和释放内存。
驻留内存大小(RES on top命令)在15~20 GB之间。然而,虚拟内存大小(VIRT on top命令)从10~20 GB增加到100 GB。
程序没有崩溃,但我想知道(1)为什么VIRT的大小会增加?(2)它会对程序造成什么问题吗?
发布于 2016-11-11 14:20:10
(1)为何VIRT的大小会增加?
这可能是由于内存碎片和/或内存泄漏造成的,即某些内存区域可能永远不会被释放。
(2)它是否会对程序造成任何问题?
如果增长从未停止,虚拟内存最终可能会耗尽,导致程序崩溃。如果您使用的操作系统没有过度提交内存,则这种情况会发生得更快。
https://unix.stackexchange.com/questions/322597
复制相似问题