「昔から気になっていたけど試した事が無かった」シリーズ
どんな記録メディアでもフォーマットのファイルシステムとアロケーションユニットサイズというものを指定してフォーマットしますよね。このとき細かい事は気にしないからファイルシステムだけ選択してアロケーションユニットサイズは既定値としたりするのが普通かと思います。
これは昔のWindows3.1時代くらいからだったような記憶もありますが詳しく調べて無いのでツッコミはご容赦下さい。
このアロケーションユニットサイズを変えることによってファイルサイズによってはより多くディスクに格納出来たりと言った話を聞きますが、実際トライアンドエラーで試行錯誤しないと最適な値は出ないと思いますし、そこに永久に格納している訳ではないハードディスクなどそこまで細かく気を遣ってしまうのも無駄とも思えます。データベースについても半分はそんな感じかも知れませんが私はエキスパートでも無いので大きな口は叩けません。
そんなこんなでサブマシーンがそれなりに空いてたりするので最近発掘したHDDでアロケーションユニットサイズを変更してザックリと試した状況をお知らせしたいと思います。
まず、フォーマットはNTFSとexFAT。FAT32はexFATと同様と思えますので割愛しました。後は「既定値」と「最小」・「最大」の3パターン。
コピーするファイルはスマホなどで撮影した画像と動画をそれぞれ複数枚コピーしてみてそれぞれのパターンのフォーマットでどういう違いが出るのかを試してみました。
まずはexFATの規定256バイト。
・フォーマット後
・画像・動画データコピー後
次にexFATで最小の64バイト。
・フォーマット後
・画像・動画データコピー後
※標準よりも若干データ使用量が削減
次にexFATで最大の32768キロバイト。
・フォーマット後
※フォーマット直後から容量を食っている
・画像・動画データコピー後
※不条理なくらい容量を消費している
次にNTFSで既定値の4096バイト。
・フォーマット後
・画像・動画データコピー後
次にNTFSで最小の512バイト。
・フォーマット後
・画像・動画データコピー後
次にNTFSで最大の2048キロバイト。
・フォーマット後
・画像・動画データコピー後
●総評
アロケーションユニットサイズを同じにすればフォーマットで違いを見つけらたかも知れなかったのでその点は反省。(フォーマットで余り違いは無いと勝手に解釈して進めていた)
アロケーションユニットサイズを大きくすればするほど無駄になる空白を作ることになるようで同じデータをコピーしても空き領域に違いが出る。
コピー時の時間も測ればよかったのだろうけど最近の機器でそれほど違いは感じられるかと言うと微妙だろうか。アロケーションユニットサイズが小さければ小さいほどコリコリとHDDの音はしていたのでそこは時間が掛っていたのかも知れないという程度かも。
アロケーションユニットサイズを既定値以外にするのは余程ファイルサイズが揃っているファイルをコピーをするならある程度効果はありそうだがそれ以外で普通に使うのであれば既定値を変更することも無さそうだという結構時間を使った無駄な検証だったかも知れない。