파일을 읽을때 리눅스는 access 타임을 write 를 한다.
때문에 파일을 읽을때 단순히 read 가 하는게 아니라 일부 write를 하고 read 를 한다.
아래와 같이 stat 명령어로 파일의 자세한 정보를 보면 확인할 수 있다.
1 2 3 4 5 6 7 8 |
]# stat /etc/hosts.allow File: `/etc/hosts.allow' Size: 449 Blocks: 8 IO Block: 4096 일반 파일 Device: 806h/2054d Inode: 1679 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-08-14 18:18:41.261914601 +0900 Modify: 2014-08-06 18:16:58.063914388 +0900 Change: 2014-08-06 18:16:58.064914390 +0900 |
이 access write 기능을 끔으로서 read 성능을 대폭으로 끌어올릴 수 있다. (약 2.5배 에서 3배)
바로 nodiratime 과 noatime 옵션 이다.
/etc/fstab 에서 아래와 같이 수정을 한다.
1 |
/dev/sdc1 /mount-point ext4 defaults,discard,nodiratime,noatime 1 2 |
/etc/fstab 에 입력된 정보로 재부팅 하지 않고 적용하는 명령어는 다음과 같다.
1 2 |
~]# mount -oremount [mount point] ~]# mount -oremount /boot |
dicard 옵션(저널링 off)는 이 게시물에서 설명.
http://www.enteroa.com/2014/09/24/Linux-에서-TRIM-활성화/
임의 마운트 시에는 아래와 같은 명령어로 마운트 한다.
1 |
~]# mount -o defaults,discard,nodiratime,noatime /dev/sdc1 /mount-point |