« MacOSX Lionでswapを止める方法のメモ | メイン | MacOSX LionでTerminalが復帰した時zshとsshでディレクトリを復帰させるメモ »

Linuxのファイルをデフラグするshakeを使ってみる

Linuxのext3/ext4ファイルシステムはフラグメントに強いと言われていますが、ファイルシステムである以上発生しないものでもありません。特に長期間使い続けていると気になるものです。

Windows標準機能の様なディスク全体のデフラグではなくファイル単位で行うもので、マウントしているファイルシステムでも使用中でないファイルであればデフラグを行うことが出来るshakeを試して見たのでメモ。

インストール

  1. Debian/Ubuntu
    sudo apt-get install libattr1 libattr1-dev cmake help2man
  2. Redhat/CentOS
    sudo yum install libattr libattr-devel cmake help2man
  3. wget http://download.savannah.nongnu.org/releases/shake/shake-0.999.tar.bz2
  4. tar xvfj shake-0.999.tar.bz2
  5. cd shake-fs-0.999/build
  6. cmake ..
  7. make
  8. sudo make install

使い方

1. フラグメントのチェック

sudo shake -pvv file or dir

又は

filefrag file

ファイルシステム全体は

fsck -vnf <FS>

フラグメントの多いファイルは以下の様にしてチェック(1を適当に大きく)

sudo shake -pvv dir | awk '$4 > 1'

2. デフラグ

shakeは作成からの時間やファイルサイズなどでデフラグを行うかどうかを選択出来ますので強制的にデフラグするには以下の様に。ディレクトリを指定すると再帰的にファイルを全て行うようです。試していませんがディスク全体を行わせると効率が上がるようです。

sudo shake -vv --old=0 -T0 file or dir

xattr関係でエラーが出たりした場合には-Xをつけてみてください。
試しに107のextentに分かれているファイルをshakeしてみると51に減りました。結果のファイルをcompareしましたが一致しました。

 

3. その他 

引数でファイル名、ディレクトリ名を省略すると標準入力からファイル名を読み込むのでfindやフィルタと組み合わせることも可能です。

ls -1 *.mp4 | sudo shake -pvv

 

感想など

このツールはファイルをリライトすることでフラグメントを減少させているので必ずしもいい結果となるかどうかはわからないのですが、面白そうなので気になるfsに使ってみることにします。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/935


コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2011年08月17日 02:03に投稿されたエントリーのページです。

ひとつ前の投稿は「MacOSX Lionでswapを止める方法のメモ」です。

次の投稿は「MacOSX LionでTerminalが復帰した時zshとsshでディレクトリを復帰させるメモ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー