Ubuntuは断片化しにくいか? ext4で検証編

まず結論。小さいファイルが多い/は、20日ほど使ったぐらいではあまり断片化しない。/var/logは仕方ない。



Windows XPマシンにUbuntuをインストールして4年間使い続けて 今後もUbuntuを使い続ける10の理由

↑のページを読んでいて、ハードディスクが断片化しにくい、って辺りが気になったので調べてみた。環境は次の通り。

  • ドライブはSSD 30GB(うち6.7GB、24%を使用中)
  • インストールしてから20日ほどしか経っていない(Ubuntu 12.04 beta 2なので)
  • 対象のフォルダは/以下の bin boot dev etc lib opt proc root run sbin selinux srv sys usr var
  • ユーザーデータがある mnt と home は除く
  • 確認にはe4defragコマンドを使用

以下、結果。

bin/  : Total/best extents	137/137
boot/ : Total/best extents	246/238
etc/  : Total/best extents	1715/1714
lib/  : Total/best extents	14944/14942
opt/  : Total/best extents	821/809
root/ : Total/best extents	61/46
sbin/ : Total/best extents	139/139
usr/  : Total/best extents	144614/144535
var/  : Total/best extents	10998/10492

計 : 173675/173052

断片化は623 extents。ほぼ無しと言っていいかな?

<Fragmented files>                             now/best       size/ext
1. /var/log/pm-powersave.log                    34/1              4 KB
2. /var/log/ConsoleKit/history                  19/1              4 KB
3. /var/log/auth.log                             4/1              4 KB
4. /var/log/wtmp                               193/1              4 KB
5. /var/log/auth.log.1                          17/1              6 KB

ログファイルは仕方ないか。wtmpが凄いことになってる。

まー20日強程度じゃそんなに断片化しないよねぇ。っつーか長く使っても/var以外はあまりしないと思うけど。覚えてたら12.10入れる前にもう一度やってみよう。

余談だが、ext4だと128MBを超えるファイルは余裕で断片化するし、ファイルサイズが256MBを超えると、使用率50%程度のパーティションでは、e4defrag(というかfallocate)を使ったデフラグが困難になる。そこでXFS(ry