Linux上的匿名内存映射是否已预故障?

问题描述 投票:0回答:1

如果使用Linux上的mmap系统调用使用匿名内存映射来分配内存,则>:

mmap(NULL, 512*4096, MAP_READ|MAP_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);

我想知道映射内存是否已预故障,或者仅在程序访问映射虚拟内存时才实际分配物理页?

我问这个,因为在映射时,我不知道程序是否会真正使用所有分配的内存。因此,如果内核实际上仅在访问内存时才为匿名映射分配物理内存,则不必担心耗尽物理内存。

[如果在Linux上使用mmap系统调用使用匿名内存映射来分配内存,则mmap(NULL,512 * 4096,MAP_READ | MAP_WRITE,MAP_PRIVATE | MAP_ANONYMOUS,0,0);我想知道是否已映射...

linux memory-management mmap page-fault
1个回答
0
投票

我通过查看文件'/ proc // smaps'进行了测试。因此,下面是一个经验性的答案,该答案可能不适用于所有内核配置。

© www.soinside.com 2019 - 2024. All rights reserved.