为什么同一个程序的不同实例使用不同的内存量?

为什么同一个程序的不同实例使用不同的内存量?

我只是启动了 5 个默认 xterm 实例,在其中什么也不做。

查看 htop 的输出,这些实例似乎使用不同数量的 RAM:

VIRT        RES       SHR       Command
12632       8528      4916       xterm
12632       8528      4920       xterm
12616       8496      4900       xterm
12616       8464      4868       xterm
12616       8452      4856       xterm

我知道差异很小,但这确实激发了我的好奇心。谷歌没有帮助。有谁知道为什么会有这些微小的差异?

答案1

大多数程序在执行期间根据需要分配内存(向操作系统请求更多内存)。它们很少返回内存(大多数情况下,运行一段时间后,内存将是不同大小的已用和当前空闲片段的马赛克,压缩以释放可以返回的连续区域是额外的工作,很少值得) 。因此内存使用情况不同。

相关内容