Linux お役立ち情報サイ



システム最適化(高速化)


サーバ用途として稼動する以上、余分な
オーバーヘッドは避けたいものです。
ここでは、まず使われることのない
「ファイルのアクセス日付の記録」を
しないようにして、ファイルの
読み込み速度を大幅に向上させる
方法をご紹介いたします。


通常、ファイルにアクセスしたときには、
以下のような日付が記録されています。

atime   =access time アクセス時に記録
mtime =modification time 内容更新時に記録
ctime =change time 設定・内容変更時に記録  

atimeは、とにかくファイルにアクセスがされる
度に時刻が記録されます。Read/Writeにかかわらず、
記録されます。

mtimeとctimeは、どちらもファイルの内容を更新した
時に時刻が記録されますが、ctimeは内容を変更
しなくても、アクセス許可属性などを変更した場合
にも記録されるという違いがあります。

ためしに、「stat (ファイル名)」で、
ファイルの情報をみてください。
3種類の日付時刻情報が
わかると思います。


ここでは、Read時のatimeを記録しないようにして、
システムを最適化(高速化)するように
しましょう。この方法を行っても、Write時には
今までどおり記録されるので安心できます。

対象ファイルは、「/etc/fstab」です。

$ su -
(rootのパスワードを入力)  

# cd /etc
# vi fstab
(以下の【変更内容】のように編集します。)
「:wq!」で保存終了します。

# shutdown -r now
(システムを再起動します。)
      
【変更内容】
「/etc/fstab」に記述されている、「defaults」の後に、
「,noatime」をつけ加えます。なお、対象とするパーティションは、
「/」、「/boot」、「/usr」、「/home」、「/var」、「/tmp」です。
スワップ領域やフロッピー、CD-ROMなどには絶対に
設定しないでください。

【例】
/dev/hda2    /       ext2  defaults,noatime 1 1
/dev/hda3    /boot    ext2  defaults,noatime 1 2
/dev/hda6    /var     ext2  defaults,noatime 1 2
/dev/hda7    /usr     ext2  defaults,noatime 1 2
/dev/hda8    /home   ext2   defaults,noatime 1 2
/dev/hda9    /tmp    ext2   defaults,noatime 1 2
/dev/hda5    swap     swap  defaults 0 0
/dev/fd0     /mnt/floppy  auto noauto,owner 0 0
/dev/cdrom   /mnt/cdrom  iso9660 noauto,owner,ro 0 0
proc        /proc      proc defaults 0 0
none        /dev/pts    devpts mode=0622 0 0