3.7. 실시간 드라이브 액세스 최적화
POSIX 표준은 운영 체제가 각각의 파일의 최종 액세스 시간을 기록하는 파일 시스템의 메타정보를 유지할 것을 요구합니다. 이 타임스탬프는
atime
라 불리며, 이를 유지하기 위해서는 저장소에 계속해서 데이터를 기록할 필요가 있습니다. 이렇게 데이터를 기록하는 것으로 인해 저장소와 그 연결의 상태를 사용중으로, 전원을 계속 켜진 상태로 유지하게 됩니다. atime
데이터를 사용하는 어플리케이션이 별로 많지 않기 때문에, 이렇게 저장소 장치가 동작하면 전력을 낭비하게 됩니다. 특히, 심지어는 파일을 저장소에서 읽지 않고 캐시에서 읽은 경우에도 저장소에 기록하는 작업이 이뤄져야 합니다. 때때로 Linux 커널은 mount시 noatime
옵션을 지원하기도 합니다. 이 옵션과 함께 마운트된 경우에는 atime
데이터를 파일 시스템에 기록하지 않습니다. 하지만, 이렇게 무작정 해당 기능을 꺼버리는 것은 atime
에 의존하는 몇몇 어플리케이션이 있고, 그것들에게 오류가 발생하게 되므로, 문제가 될 수 있습니다.
Red Hat Enterprise Linux 6의 커널은
relatime
라 불리는 대안을 지원합니다. relatime
은 atime
데이터를 유지하지만, 파일 액세스가 있을 때 마다 하지는 않습니다. 이 옵션을 활성화시키면, atime
데이터가 파일의 최종 업데이트 날짜(mtime
)와 같고 그 이후 파일이 변경된 경우거나, 파일의 최종 액세스 시간이 현재로부터 일정 시간 이전(디폴트는 하루)인 경우에만 디스크에 기록됩니다.
디폴트로 모든 파일시스템은 이제
relatime
옵션이 활성화된 상태로 마운트됩니다. 이 기능을 전체 시스템에서 사용하지 않으려면, 부트 매개변수로 default_relatime=0
를 지정하십시오. 만약 relatime
이 디폴트로 시스템에서 활성화되어 있고, 특정 파일시스템에서 그 기능을 사용하고 싶지 않은 경우 norelatime
옵션으로 파일시스템을 마운트하면 됩니다. 마지막으로, 시스템이 파일의 atime
데이터를 업데이트하기 전에 디폴트 시간을 변경하려면, relatime_interval=
부트 매개변수를 사용해서, 시간을 초 단위로 지정합니다. 기본값은 86400
입니다.