エントリー

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
#

効果の程は判らないが正常に動作しているようである

今後は利用しよう

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

過去ログ

Feed