linux – 有些分配器是懒惰的吗?

前端之家收集整理的这篇文章主要介绍了linux – 有些分配器是懒惰的吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Linux中编写了一个C语言程序,用于mallocs内存,在循环中运行它,而TOP没有显示任何内存消耗.

然后我用那个记忆做了一些事情,TOP确实显示了内存消耗.

当我在malloc时,我真的“得到了内存”,还是有一个“懒惰”的内存管理,只有在我使用它时才给我内存?

(还有一个选项,当我使用它时TOP才知道内存消耗,所以我不确定这个…)

谢谢

解决方法

在Linux上,malloc使用sbrk()或mmap()请求内存 – 无论哪种方式,您的地址空间都会立即扩展,但Linux在第一次写入相关页面之前不会分配实际的物理内存页面.您可以在VIRT列中看到地址空间扩展,而在RES中可以看到实际的物理内存使用情况.

猜你在找的Linux相关文章