我正在使用 mmap() 实现 cp(file copy) 命令。为此,我将源文件映射为 MAP_PRIVATE(我只想读取)模式,并将目标文件映射为 MAP_SHARED 模式(因为我必须写回目标文件的更改内容)。
在执行此操作时,我观察到由于两个原因而发生的许多次要页面错误导致性能下降。1) 为源文件调用 mmap(MAP_PRIVATE) 时按需填零。2) 为目标文件调用 mmap(MAP_SHARED) 时写入时复制。
有什么方法可以禁用 Zero-fill-on-demand 和 Copy-on-write 吗?
谢谢, 哈里什