如果使用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);我想知道是否已映射...
我通过查看文件'/ proc // smaps'进行了测试。因此,下面是一个经验性的答案,该答案可能不适用于所有内核配置。