posix_fadvise(2) System Calls Manual posix_fadvise(2) posix_fadvise - (libc -lc) #include int posix_fadvise(int fd, off_t offset, off_t size, int advice); glibc ( feature_test_macros(7)): posix_fadvise(): _POSIX_C_SOURCE >= 200112L posix_fadvise() . advice ( ) offset size ( size 0) fd. advice . advice: POSIX_FADV_NORMAL . . POSIX_FADV_SEQUENTIAL ( ). POSIX_FADV_RANDOM . POSIX_FADV_NOREUSE . Linux 2.6.18 POSIX_FADV_NOREUSE POSIX_FADV_WILLNEED. Linux 2.6.18 Linux 6.2 . Linux 6.3 POSIX_FADV_NOREUSE . . POSIX_FADV_WILLNEED . POSIX_FADV_WILLNEED . . ( .) POSIX_FADV_DONTNEED . POSIX_FADV_DONTNEED . . . . . offset size . . . fsync(2) fdatasync(2) . . . EBADF fd . EINVAL advice. ESPIPE FIFO. (ESPIPE POSIX Linux 2.6.16 Linux EINVAL .) Linux POSIX_FADV_NORMAL POSIX_FADV_SEQUENTIAL POSIX_FADV_RANDOM . POSIX_FADV_NOREUSE . ( ). C C posix_fadvise(). fadvise64() ( fadvise64_64()) size size_t loff_t . 64 ( syscall(2) ). posix_fadvise() fd offset. posix_fadvise(). Linux 2.6.14 ARM : long arm_fadvise64_64(int fd, int advice, loff_t offset, loff_t size); posix_fadvise() glibc . POSIX.1-2024. POSIX.1-2001. Linux 2.5.60 fadvise64(). glibc 2.2 posix_fadvise(). Linux 3.18 CONFIG_ADVISE_SYSCALLS. size size_t off_t POSIX.1-2001 TC1. /proc/sys/vm/drop_caches proc(5). mmap(2) mincore(2) . Linux 2.6.6 size 0 " " " ". fincore(1), mincore(2), readahead(2), sync_file_range(2), posix_fallocate(3), posix_madvise(3) 3 . . : . 6.18 8 2026 posix_fadvise(2)