【发布时间】:2020-05-20 02:21:47
【问题描述】:
如果在Linux上使用mmap系统调用使用匿名内存映射分配内存:
mmap(NULL, 512*4096, MAP_READ|MAP_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
我想知道是否映射内存是预先设置好的,还是只有在程序访问映射的虚拟内存时才实际分配物理页面?
我问这个是因为在映射时我不知道程序是否会实际使用所有分配的内存。所以如果内核真的只在内存被访问的时候才为匿名映射分配物理内存,我就不用担心会耗尽物理内存。
【问题讨论】:
标签: linux memory-management mmap page-fault