답변을 바탕으로관련 시간 간격은 다음에 의해 변경될 수 있습니다.
echo 60 > /proc/sys/fs/relatime_interval
그런데 그런 파일이 없나요? 어디로 갔나요?
$ ls /proc/sys/fs
aio-max-nr file-max leases-enable protected_hardlinks
aio-nr file-nr mqueue protected_symlinks
binfmt_misc inode-nr nr_open quota
dentry-state inode-state overflowgid suid_dumpable
dir-notify-enable inotify overflowuid xfs
epoll lease-break-time pipe-max-size
우분투 14.04 LTS, 커널 3.16.0-50-일반
답변1
IIRC에는 RedHat 커널에서 구성할 수 있는 RedHat 전용 패치가 있었습니다.
잉고 몰나르비슷한 제안이 나왔다2007이지만 그의 패치는 병합되지 않았습니다.
현재 커널은 다음과 같이 고정된 1일 간격을 사용합니다.11ff6f05f1e836a6a02369a4c4b64757e484adc1 제출2009년 3월.
fs/inode.c에서 발췌:
/* * 상대 atime의 경우 이전 atime이 다음인 경우에만 atime을 업데이트합니다. * ctime 또는 mtime보다 빠르거나 적어도 하루 이상 * 마지막 atime 업데이트 이후 경과된 시간입니다. */ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, 이제 구조 timespec) { if (!(mnt->mnt_flags & MNT_RELATIME)) 1을 반환합니다. /* * mtime은 atime보다 젊습니까? 그렇다면 atime을 업데이트하세요. */ if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0) 1을 반환합니다. /* * ctime은 atime보다 젊습니까? 그렇다면 atime을 업데이트하세요. */ if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0) 1을 반환합니다. /* * 이전 atime 값이 1일보다 오래되었습니까? 의 경우, * 업데이트 시간: */ if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60) 1을 반환합니다. /* * 좋습니다. Atime 업데이트를 건너뛸 수 있습니다. */ 0을 반환합니다. }
이것이 사용되는 파일 시스템에 따라 달라지는지는 확실하지 않습니다. 보고서에 따르면 linux-4.2.4/Documentation/filesystems/ocfs2.txt
, ...OCFS2
atime_quantum