Home

技術系のメモと日々の雑感

Ext3 上のディレクトリにファイルを大量に作ってみる

Ext2 の頃は1つのディレクトリ内に作れるファイル数の話がよく出てきてたけど、Ext3 になってからはまったく聞かなくなったね。
ちょっと興味があったのと、とある検証のために Ext3 上のディレクトリにファイルを大量に作ってみた。
サイズは 10KB でファイル名は連番だ。
環境は、HDD が Western Digital WD800JD-75MSA3 80GB、CPU が Core2 Duo E4500 2.20GHz、メモリが 1GB のマシンに CentOS 5.4 という構成。
負荷がかかるのを予想して HDD は古いものしか使えなかった。
ファイルを作る前の状態を載せておこう。

$ df -i
Filesystem            Inodes   IUsed    IFree IUse% Mounted on
/dev/sda3           19248768  301775 18946993    2% /
/dev/sda1              26104      35    26069    1% /boot
tmpfs                 128064       1   128063    1% /dev/shm

実際にやってみると、30 万個を過ぎた頃から ls の結果が表示されるまでの時間がだんだんのびてきた。
70 万個辺りで ls の結果が表示されるまで 1 分程度。
100 万個を過ぎると軽く 2 分以上かかるようになった。
また、この辺りからファイルが作られるスピードが落ちてきた。
I/O ウェイトが 50% 前後まで上昇したり下がったりの繰り返し。
そして、150 万個まで作ったときに、ls が 10 分待っても返ってこないことに気づいた。
Ctrl+C も効かないので kill するしかない。
ただしファイルは問題なく作ることができる。
この後、結局 1300 万個以上作ってみたけど、ls したりしなければ特に問題なし。
もう一度 df の結果を載せておこう。

$ df -i
Filesystem            Inodes    IUsed   IFree IUse% Mounted on
/dev/sda3           19248768 13831870 5416898   72% /
/dev/sda1              26104       35   26069    1% /boot
tmpfs                 128064        1  128063    1% /dev/shm

この結果からも分かるように、i ノードさえ残っていればファイルを作れるようだ。
ちなみに ls が使い物にならなくなってからでも、例えば vi で個別にファイルを開いて編集したりするのは問題なかった。
面白くない結果になってしまったけど、まずはひと安心ってところだな。

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/07/23(火) 03:38:34

-

管理人の承認後に表示されます

  • From: |
  • 2012/02/04(土) 19:14:31

-

管理人の承認後に表示されます

  • From: |
  • 2011/02/28(月) 13:16:13

この記事に対するコメント

承認待ちコメント

このコメントは管理者の承認待ちです

  • 投稿者: -
  • 2011/02/24 06:25:18
  • [編集]

この記事にコメントする

管理者にだけ表示を許可する