noatime設定の確認
先日512MB CFにDebianをインストールした際、フラッシュメモリなので書き込みを少しでも減らそうとルートファイルシステム(/)にnoatimeの設定を施した
その設定がルートファイルシステムに対しても正常に動作するのか気になっていたので確認してみた
インストールした512MB CF(noatime 有)
/dev/sda1 on / type ext3 (rw,noatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
都合良く前に作成した別のCFはnoatimeを設定してない(noatime 無)ので、このシステムを使ってテストしてみる
/dev/sda2 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
ファイル生成後、時刻が変わったらアクセスしてatimeを確認する
# date
Fri Apr 19 16:57:05 JST 2013
# cp .profile xxx
# ls -l
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:57 xxx
# ls -lu
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:57 xxx
# ls -lc
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:57 xxx
# date
Fri Apr 19 16:58:06 JST 2013
# cat xxx
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n
# ls -l
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:57 xxx
# ls -lu
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:58 xxx
# ls -lc
total 4
-rw-r--r-- 1 root root 140 Apr 19 16:57 xxx
#
この後アクセスしてもatimeは変更されない(キャッシュのせいか?syncしても同様だった)
一応ファイル生成後の1度目のアクセスでatimeの変更があるようなのでfstabを修正してnoatimeを設定する
(修正前)
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda2 during installation
UUID=7ba2fa05-9514-443e-9ea0-8104a559fe60 / ext3 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=eea57bac-545b-4bc0-adc6-36a09a2a0b71 /boot ext3 defaults 0 2
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/scd0 /media/floppy0 auto rw,user,noauto 0 0
(修正後)
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda2 during installation
UUID=7ba2fa05-9514-443e-9ea0-8104a559fe60 / ext3 defaults,noatime,errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=eea57bac-545b-4bc0-adc6-36a09a2a0b71 /boot ext3 defaults,noatime 0 2
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/scd0 /media/floppy0 auto rw,user,noauto 0 0
(reboot)
# mount
/dev/sda2 on / type ext3 (rw,noatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw,noatime)
# date
Fri Apr 19 17:16:14 JST 2013
# cp .profile xxx
# ls -l
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
# ls -lu
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
# ls -lc
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
# date
Fri Apr 19 17:17:09 JST 2013
# cat xxx
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n
# ls -l
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
# ls -lu
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
# ls -lc
total 4
-rw-r--r-- 1 root root 140 Apr 19 17:16 xxx
#
効果の程は判らないが正常に動作しているようである
今後は利用しよう