Kodama's home / tips.

ディスク使用量の分布(part2)

前回は ディレクトリ下のディスク使用量を観察し, フラクタル的に分布することを確かめた.

今回は, ディスク使用量がフラクタル的では __ない__ 例を見る.

いくつかのグラフを作成するが, その意味の詳細については省略する. データ列を分析する手法としては, フラクタル解析や時系列解析などのテキストを読むと良い.

  1. スクリプト
  2. 順位-サイズのグラフ
  3. 順位-サイズの片対数グラフ
  4. 順位-サイズの両対数グラフ
  5. まとめ

スクリプト

以下のようにして, データ列からグラフを作る. du なのでサブディレクトリまで辿って使用量の総計を出してくる.
$ du -sk /usr/share/* | sort -nr | gnuplot gplot.txt > disk-use.png

以下で, gnuplot に与えるコマンドファイル gplot.txt を変えて様々なグラフを作る.

順位-サイズのグラフ

まずそのままグラフにしてみる.

gnuplot のコマンドファイル(gplot.txt)

set terminal png
plot "< cat" using ($0+1):($1) # linear-linear
注. $0 が行番号. $1 は 第1フィールド.

結果(図1)

まず, 線形なグラフで様子を見る.
Fig.1. distribution of disk usage

順位-サイズの片対数グラフ

gnuplot のコマンドファイル(gplot.txt)

set terminal png
set logscale y; plot "< cat" using ($0+1):($1) # y=a b^x # exponent

結果(図2)

ほぼ直線的なグラフが得られた. ディスク使用量は, 指数分布 または 幾何分布 すると思われる. Fig.2. distribution of disk usage

順位-サイズの両対数グラフ

比較のため, 両対数グラフも見る.

gnuplot のコマンドファイル(gplot.txt)

set terminal png
set logscale xy; plot "< cat" using ($0+1):($1) # log-log

結果(図3)

これよりも, 図2 の方が直線的なので, フラクタル的な巾分布よりは指数分布と解釈する方が良いらしい.
Fig.3. distribution of disk usage

まとめ

この例では, ディスク使用量は, 指数分布または幾何分布すると思われる.

前回 は, ディスク使用量がフラクタル的に巾分布する例をみた. また, この例でも, 上位 10 個程度については, 巾分布に近いようにも見える. しかし, 無条件でフラクタル的に分布すると考えるのは無理がある事がわかる.

ファイルサイズの観察 ( part1, part2 ) を参考にすると, 凝集が起こっているとフラクタル的な巾分布に近付き, 素のままに近いと指数分布になるという傾向があると考えても良いと思われる. これが, この例での上位の部分と下位の部分の傾向に現れている可能性がある.


Kodama's home / tips.