桐山です
At Mon, 19 Apr 2010 18:59:33 +0900,
Hajimu UMEMOTO wrote:
>
> kiri> nfsd ですが,どうも -n オプションが利かないみたいなんですが,
> kiri> ソースをちょっと見たところどうも新しいカーネル(注)では全く
> kiri> nfsd を産んでくれないみたいなんですが,これは仕様でしょうか?
>
> 全然気づいていませんでした。仕様でしょう。マルチプロセスではなくカーネ
> ルスレッド化されているようです。
>
> u...@himuro:~% ps axH |grep nfsd
> 17950 ?? S 0:00.32 nfsd: server (nfsd)
> 17950 ?? S 0:00.24 nfsd: server (nfsd)
> 17950 ?? S 0:00.20 nfsd: server (nfsd)
> 17950 ?? S 0:00.25 nfsd: server (nfsd)
> 51548 ?? Is 0:00.01 nfsd: master (nfsd)
なるほど...
> ここで fork() 後に呼んでいる start_server() で、new_syscall の場合に
> nfssvc() 与える構造体に nfsdcnt をセットしています。名前からしてスレッ
> ド数ですね。
>
> nfsdargs.principal = principal;
> nfsdargs.minthreads = nfsdcnt;
> nfsdargs.maxthreads = nfsdcnt;
> error = nfssvc(nfssvc_nfsd, &nfsdargs);
/usr/include/fs/nfs/nfs.h (↓) ですね
/*
* nfsd argument for new krpc.
*/
struct nfsd_nfsd_args {
const char *principal; /* GSS-API service principal name */
int minthreads; /* minimum service thread count */
int maxthreads; /* maximum service thread count */
};
ただ,現状は数十台のディスクレスクライアントマシンを同時に一
斉に立ち上げているのですが,以前(6.2-RELEASE-p7)に比べ驚異的
に遅くなっています(注).クライアントの方もスレッド対応にしな
いといけないということはありますか? クライアントの rc.conf
は [1] なかんじです.まぁ,6.2-RELEASE-p7 は OS はローカルで
KDE3.5に対し 8.0-STABLE の方は完全ディスクレスで KDE4.3.4
ってのはありますけど....
(注) 2〜3分(6.2-RELEASE-p7)→20〜30分(8.0-STABLE)
[1] http://www.openedu.org/~kiri/trouble/rc.conf.default