Linuxでデフラグを実行するスクリプトは効果があるのか?
こちらのページで紹介されていたdefrag-0.08というスクリプトの中身を見てみたところ、どうも単にcp -aした後mvしているだけっぽいので、本当に効果があるのか試してみた。
結論。今回試した限りでは効果無し。
まず、テスト用のフォルダをHDD1からHDD2へコピー(両方ファイルシステムはext4・HDD2の使用率は28%、空き容量は約200GiB)。
snowcp -0 ~/Pictures/CG/バルス . コピー対象の一覧を作成中です... コピーを開始します... コピーを完了しました... File : 361 / 361 Link : 0 / 0 Dir : 7 / 7 Source : 7248 MB (7600829780 Byte) Read : 7248 MB (7600829780 Byte) Write : 7248 MB (7600829780 Byte)
コピー直後の断片化率をfrag.plで確認すると、
sudo ./frag.pl バルス [sudo] password for *: 22.1606648199446% non contiguous files, 1.26869806094183 average fragments.
となっていた。22%て…。続いてdefragスクリプトを実行。
cp defrag バルス/
cd バルス/
sudo ./defrag
cd ..
sudo ./frag.pl バルス
33.5180055401662% non contiguous files, 1.33795013850416 average fragments.
逆効果/(^o^)\。
ついでにそのフォルダをsnowcpで複製してみると、
snowcp -0 バルス/ バロス コピー対象の一覧を作成中です... コピーを開始します... コピーを完了しました... File : 361 / 361 Link : 0 / 0 Dir : 7 / 7 Source : 7248 MB (7600829780 Byte) Read : 7248 MB (7600829780 Byte) Write : 7248 MB (7600829780 Byte) sudo ./frag.pl バロス 11.6343490304709% non contiguous files, 1.1191135734072 average fragments.
fallocateのおかげか、snowcp使った方が効果があるように見える。まぁ断片化が気になるならWindowsを使うべきだな、あっちはデフラグツール充実してるし。