Kodama's home / tips.

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

ホームディレクトリのディスク使用量を調べてみた. 使用量がフラクタル的に分布することを確かめる.

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

  1. スクリプト
  2. 順位-サイズのグラフ
  3. 順位-サイズの片対数グラフ
  4. 順位-サイズの両対数グラフ
  5. まとめ
    1. ディレクトリの使用量の偏りについて
    2. 問題を解決しても次が控えている

スクリプト

以下のようにして, データ列からグラフを作る. du なのでサブディレクトリまで辿って使用量の総計を出してくる.
$ du -sk /home/* | 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) # log-log

結果(図2)

参考のために片対数グラフを見る. ここからは, 指数分布という解釈は適切ではないことがわかる.
Fig.2. distribution of directory size

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

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

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

結果(図3)

log-log グラフで直線状になっていることから, 巾分布すると思われる.
Fig.3. distribution of directory size

まとめ

ディレクトリの使用量の偏りについて

ユーザ毎のディスク使用量はフラクタル状に分布していることが観察できる.

多数の利用者が使うサーバでは, 容量制限が無い場合, 利用者毎のディスク使用量はやはりこのようなパターンになり, 小数の利用者がディスクの多くの部分を使うことになる.

多くの場所で, ディレクトリ以下のディスク使用量の分布はこのようになっていると思われる.

しかし, 必然的にフラクタル的になるという訳でもない... 次回 part2 に続く

問題を解決しても次が控えている

そういうわけで,
  1. 領域を浪費しているユーザを抑えても常に次が控えている.
    一時的な対処で安心すると失敗する.

Kodama's home / tips.