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を使うべきだな、あっちはデフラグツール充実してるし。