アカウント名:
パスワード:
コア数のたくさんあるCPUが普通にあるから、じういう時も処理能力だけは余ってるんじゃないかと思ったりするのですが。
某商用UNIXでの話ですが、一つのディレクトリの下に32K個程のサブディレクトリを作ったら、それ以上ディレクトリが作れなくなりました。これはそのOSの仕様だそうです。ファイルは32K個以上作れるのに。で、そのディレクトリで
# ls
と実行すると、サブディレクトリ名が表示され始めるまでに十数秒~数十秒かかっていました。
多くの UFS/FFS系ファイルシステムは、その縛りがあるような。・子ディレクトリが持つ、".." エントリによって、親ディレクトリのリンクカウンタが消費される.・リンクカウンタは 16bit signed short.
・子ディレクトリが持つ、".." エントリによって、親ディレクトリのリンクカウンタが消費される.・リンクカウンタは 16bit signed short.
カウンタが16bit signed shortで、サブディレクトリ毎に「..」と併せて2リンク消費するなら、16Kで限界が来てしまいませんか?
しかし、そういう制限ではなかったように記憶しています。うろ覚えですが。ファイルシステムの制限としては、32Kを超えてサブディレクトリを作れるけど、mkdirで制限しているとか何とか。#本当にうろ覚えで申し訳ない。
微妙に値がずれている点が気にはなりますが、どれも概ね、32K ですね。
Linux ext2 http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ext2.txt.html [linux.or.jp] | 一つのディレクトリに 32768 のサブディレクトリの上限があります。
Solaris UFS http://docs.sun.com/app/docs/doc/819-0386/fsfilesysappx-94408?a=view [sun.com] | UFS ファイルシステム内のディレクトリあたりのサブディレクトリの最大数は、32,767 です。
IBM AIX http://www-01.ibm.com/su [ibm.com]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
マルチスレッド化するとか (スコア:2)
コア数のたくさんあるCPUが普通にあるから、じういう時も
処理能力だけは余ってるんじゃないかと思ったりするのですが。
Re: (スコア:0)
RAMディスクで処理する(いくらかかるんだ・・・?)ならCPU側の問題になりそうだけど。
Re: (スコア:1)
某商用UNIXでの話ですが、一つのディレクトリの下に32K個程のサブディレクトリを作ったら、それ以上ディレクトリが作れなくなりました。これはそのOSの仕様だそうです。ファイルは32K個以上作れるのに。
で、そのディレクトリで
と実行すると、サブディレクトリ名が表示され始めるまでに十数秒~数十秒かかっていました。
Re:マルチスレッド化するとか (スコア:0)
多くの UFS/FFS系ファイルシステムは、その縛りがあるような。
・子ディレクトリが持つ、".." エントリによって、親ディレクトリのリンクカウンタが消費される.
・リンクカウンタは 16bit signed short.
Re:マルチスレッド化するとか (スコア:1)
・子ディレクトリが持つ、".." エントリによって、親ディレクトリのリンクカウンタが消費される.
・リンクカウンタは 16bit signed short.
カウンタが16bit signed shortで、サブディレクトリ毎に「..」と併せて2リンク消費するなら、16Kで限界が来てしまいませんか?
しかし、そういう制限ではなかったように記憶しています。うろ覚えですが。
ファイルシステムの制限としては、32Kを超えてサブディレクトリを作れるけど、mkdirで制限しているとか何とか。
#本当にうろ覚えで申し訳ない。
Re: (スコア:0)
リンクカウントは、いくつリンク「されているか」のカウントであって、リンクする方では増えないですよ。
だから、親ディレクトリに子ディレクトリを作っても、親ディレクトリのリンクカウントで増えるのは子から親への「..」の分だけです。
16bit signed shortであれば、限界は32Kでいいはずです。
Re: (スコア:0)
微妙に値がずれている点が気にはなりますが、どれも概ね、32K ですね。
Linux ext2
http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ext2.txt.html [linux.or.jp]
| 一つのディレクトリに 32768 のサブディレクトリの上限があります。
Solaris UFS
http://docs.sun.com/app/docs/doc/819-0386/fsfilesysappx-94408?a=view [sun.com]
| UFS ファイルシステム内のディレクトリあたりのサブディレクトリの最大数は、32,767 です。
IBM AIX
http://www-01.ibm.com/su [ibm.com]