草庐IT

DONTNEED

全部标签

linux - madvise(___, ___, MADV_DONTNEED) 是否指示操作系统延迟写入磁盘?

假设,假设我想对一个可能非常大的文件执行顺序写入。如果我mmap()一个巨大的区域并在整个区域上进行madvise(MADV_SEQUENTIAL),那么我可以以相对有效的方式写入内存。我已经开始工作了。现在,为了在我写作时释放各种操作系统资源,我偶尔会在已经写入的小块内存上执行munmap()。我担心的是munmap()和msync()会阻塞我的线程,等待数据以物理方式提交到磁盘。我根本不能放慢我的作家的速度,所以我需要找到另一种方法。在已经写入的小内存块上使用madvise(MADV_DONTNEED)会更好吗?我想告诉操作系统将该内存延迟写入磁盘,而不是阻止我的调用线程。关于ma

linux - madvise(___, ___, MADV_DONTNEED) 是否指示操作系统延迟写入磁盘?

假设,假设我想对一个可能非常大的文件执行顺序写入。如果我mmap()一个巨大的区域并在整个区域上进行madvise(MADV_SEQUENTIAL),那么我可以以相对有效的方式写入内存。我已经开始工作了。现在,为了在我写作时释放各种操作系统资源,我偶尔会在已经写入的小块内存上执行munmap()。我担心的是munmap()和msync()会阻塞我的线程,等待数据以物理方式提交到磁盘。我根本不能放慢我的作家的速度,所以我需要找到另一种方法。在已经写入的小内存块上使用madvise(MADV_DONTNEED)会更好吗?我想告诉操作系统将该内存延迟写入磁盘,而不是阻止我的调用线程。关于ma