posix_fadvise是linux上对文件进行预取的系统调用,其中第四个参数int advice为预取的方式,主要有以下几种:

POSIX_FADV_NORMAL                         无特别建议                                      重置预读大小为默认值
POSIX_FADV_SEQUENTIAL                将要进行顺序操作                           设预读大小为默认值的2 倍
POSIX_FADV_RANDOM                        将要进行随机操作                           将预读大小清零(禁止预读)
POSIX_FADV_NOREUSE                     指定的数据将只访问一次              (暂无动作)
POSIX_FADV_WILLNEED                    指定的数据即将被访问                    立即预读数据到page cache
POSIX_FADV_DONTNEED                  指定的数据近期不会被访问            立即从page cache 中丢弃数据

其中,POSIX_FADV_NORMAL、POSIX_FADV_SEQUENTIAL、POSIX_FADV_RANDOM  是用来调整预取窗口的大小,POSIX_FADV_WILLNEED则可以将指定范围的磁盘文件读入到page cache中,POSIX_FADV_DONTNEED则将指定的磁盘文件中数据从page cache中换出。

Logo

更多推荐