1つの答えによると relatime間隔は
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
Ubuntu 14.04 LTS、カーネル3.16.0-50-汎用
IIRCには、これをRedHatカーネルで構成可能にするRedHatのみのパッチがありました。
Ingo Molnar 同様の提案 2007年に、彼のパッチはマージされませんでした。
現在のカーネルは、2009年3月に commit 11ff6f05f1e836a6a02369a4c4b64757e484adc1 によって導入された固定の1日間隔を使用します。
fs/inode.cからの抜粋:
/* *相対atimeでは、前のatimeが * ctimeまたはmtimeより前の場合、または少なくとも1日が の場合にのみatimeを更新します。 *前回の更新以降に渡されました。 */ staticint relatime_need_update(struct vfsmount * mnt、struct inode * inode、 struct timespec now) { if(!(mnt-> mnt_flags&MNT_RELATIME)) return 1; /* * mtimeはatimeより若いですか?はいの場合、atimeを更新します: * / if(timespec_compare(&inode-> i_mtime、&inode-> i_atime)> = 0) return 1; /* * ctimeはatimeよりも若いですか?はいの場合、atimeを更新します: * / if(timespec_compare(&inode-> i_ctime、&inode-> i_atime)> = 0) return 1; /* *前のatime値は1日より古いですか?はいの場合、 * atime: * / if((long)(now.tv_sec --inode-> i_atime.tv_sec)> = 24 * 60 * 60) return 1; /* *よし、atimeの更新をスキップできます: */ return0; }
これが使用するファイルシステムにも依存するかどうかは完全にはわかりません。による linux-4.2.4/Documentation/filesystems/ocfs2.txt
、OCFS2
はatime_quantum
.。