linux – 有些分配器是懒惰的吗?
发布时间:2020-12-13 16:57:13 所属栏目:Linux 来源:网络整理
导读:我在 Linux中编写了一个C语言程序,用于mallocs内存,在循环中运行它,而TOP没有显示任何内存消耗. 然后我用那个记忆做了一些事情,TOP确实显示了内存消耗. 当我在malloc时,我真的“得到了内存”,还是有一个“懒惰”的内存管理,只有在我使用它时才给我内存? (还
我在
Linux中编写了一个C语言程序,用于mallocs内存,在循环中运行它,而TOP没有显示任何内存消耗.
然后我用那个记忆做了一些事情,TOP确实显示了内存消耗. 当我在malloc时,我真的“得到了内存”,还是有一个“懒惰”的内存管理,只有在我使用它时才给我内存? (还有一个选项,当我使用它时TOP才知道内存消耗,所以我不确定这个…) 谢谢 解决方法
在Linux上,malloc使用sbrk()或mmap()请求内存 – 无论哪种方式,您的地址空间都会立即扩展,但Linux在第一次写入相关页面之前不会分配实际的物理内存页面.您可以在VIRT列中看到地址空间扩展,而在RES中可以看到实际的物理内存使用情况.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |