桐山です 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