Atime 값은 파일 생성 후 한 번만 변경됩니다.

Atime 값은 파일 생성 후 한 번만 변경됩니다.

명시적으로 지정된 값인 atime을 사용하여 디스크를 마운트했습니다.

mount -o mount -o atime /dev/disk1 /myDisk

그런 다음 파일을 만들었습니다.

touch file_A

이 작업을 수행한 후 통계 출력은 다음과 같습니다.

Access: 2013-08-30 11:38:48.141970758 +0200
Modify: 2013-08-30 11:38:48.141970758 +0200
Change: 2013-08-30 11:38:48.141970758 +0200

cat /myDisk/file_A통계 출력이 한 번만 변경된 후:

    Access: 2013-08-30 11:39:11.141970758 +0200
    Modify: 2013-08-30 11:38:48.141970758 +0200
    Change: 2013-08-30 11:38:48.141970758 +0200

그러면 cat을 여러 번 실행해도 액세스 시간 값이 전혀 변경되지 않습니다. 이게 무슨 문제야? 이런 행동은 어디서 오는 걸까요? 파일에 대한 모든 cat 작업 후에 액세스 시간이 변경될 것으로 예상합니다. 첫 번째 방문만 표시되는 이유는 무엇입니까?

(noatime 옵션을 사용하여 디스크를 마운트하면 다른 동작이 발생합니다. 모든 고양이는 통계의 액세스 시간을 변경합니다. 여전히 수정 및 변경과 동일합니다)

답변1

relatime설치 중에 이 옵션을 사용할 수 있습니까? atime그 사이에 중간 정도가 있어야 하며 noatime그렇게 하면 많은 I/O가 발생하지 않지만 atime여전히 비용이 많이 들지는 않습니다 noatime.

이는 다음과 같은 설명입니다 man 8 mount.

   relatime
   Update  inode  access times relative to modify or change time.  
   Access time is only updated if the previous access time was 
   earlier than the current modify or change time. (Similar to noat‐
   ime, but doesn't break mutt or other applications that need to 
   know if a file has been read since the last time it was modified.)

   Since Linux 2.6.30, the kernel defaults to the behavior provided 
   by this option (unless noatime was  specified), and the 
   strictatime option is required to obtain traditional  semantics. 

   In addition, since Linux 2.6.30, the file's last access time is 
   always  updated  if  it  is more than 1 day old.

관련 정보