トップページunix
1001コメント289KB

初心者もOK! FreeBSD質問スレッド その103

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/08/02(日) 15:10:20
FreeBSD 関連の質問はここで。
事前にハンドブック閲覧や過去ログ検索等の自助努力をすることが望ましい。
再現性情報(ハードウェア・ソフトウェア・エラーメッセージ)の記載は必須。
sysutils/sysinfoなんていれておくといいかもよ。

The FreeBSD Project
http://www.freebsd.org/ja/

FreeBSD ハンドブック
http://www.freebsd.org/doc/ja/books/handbook/

過去ログ
http://www9.atwiki.jp/freebsd/

前スレ
初心者もOK! FreeBSD質問スレッド その102
http://pc12.2ch.net/test/read.cgi/unix/1243461056/
0216名無しさん@お腹いっぱい。2009/08/12(水) 11:58:38
>>206です

マシンはDell PowerEdge R300で
CPUはCore2Duo E6405 2.13G
DISKはSEAGATE ST3146855SS(SAS 15krpm)を2台でRAID1構成

追試
%echo $TZ
TZ: Undefined variable.
%time ls -l>/dev/null
1.706u 6.062s 0:07.77 99.8% 32+1507k 0+0io 0pf+0w
%setenv TZ JST-9; echo $TZ
JST-9
%time ls -l>/dev/null
1.815u 5.926s 0:07.76 99.6% 31+1486k 0+0io 0pf+0w

去年の夏頃FreeBSDを普通にセットアップしました。
仮想とか特別なチューニングは全くなし
忙しくなくけっこう遊んでいるマシンだと思ってます。

%vmstat -w 5
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr da0 pa0 in sy cs us sy id
0 0 0 583M 195M 52 0 0 0 94 7 0 0 31 11 99 0 0 99
0 0 0 583M 195M 275 0 0 0 279 0 11 0 33 5527 585 1 1 98
1 1 0 590M 192M 256 0 0 0 155 0 10 0 45 3941 625 1 1 98
0 0 0 583M 194M 723 0 0 0 791 0 11 0 70 6961 795 1 2 97
1 0 0 583M 194M 165 0 0 0 195 0 11 0 166 1574 878 1 1 98
0 0 0 582M 193M 76 0 0 0 63 0 4 0 232 1823 1003 0 1 99
0217名無しさん@お腹いっぱい。2009/08/12(水) 12:31:02
raidをやめてみる、もしくは、普通のHDDを1個つけてその上で試す。
0218名無しさん@お腹いっぱい。2009/08/12(水) 12:48:43
>>215
論理的に「TZ=JST-9すると速い」はおかしいだろ。
「TZがセットされていると速い」が正しかったわけだ。
0219名無しさん@お腹いっぱい。2009/08/12(水) 12:52:01
>>218
TZが単に(不適切に)セットされていると ls -l の表示結果が変わってしまう。
結果を変えないで速くする方法を聞いているんだから、
「Z=JST-9すると速い」が正しい。
「TZがセットされていると速い」では不十分。(減点)
0220名無しさん@お腹いっぱい。2009/08/12(水) 12:57:23
つまんねぇドングリのけなしあいしてずに、根本的な原因考えろよ
0221名無しさん@お腹いっぱい。2009/08/12(水) 13:00:55
「してないで」か「せずに」だろ。「してずに」はおかしいよ。
0222名無しさん@お腹いっぱい。2009/08/12(水) 13:01:29
>>220
根本的な原因はすでに書かれてるだろ。
stat(2)が遅いファイルシステムを使っているのが原因。
0223名無しさん@お腹いっぱい。2009/08/12(水) 13:02:02
「Z=JST-9」しても速くなる原因は何もないな。 全く持って意味不明。
0224名無しさん@お腹いっぱい。2009/08/12(水) 13:03:38
ファイルの読み書き速度はLinux>FreeBSD?
http://pc12.2ch.net/test/read.cgi/unix/1008570087/
0225名無しさん@お腹いっぱい。2009/08/12(水) 13:09:17
>>206です

別なことやってみた。こちらは妥当な結果だと思う

%cd /usr/ports
%time ls -R > /dev/null
0.159u 0.918s 0:01.07 99.0% 32+1511k 0+0io 0pf+0w
%time ls -lR > /dev/null
0.905u 1.734s 0:03.82 68.8% 31+1488k 0+0io 0pf+0w

後出しですみませんが、先ほどの結果は/var/mailです。
ほとんどのファイルのUIDは違う状態。それにしても時間が掛かりすぎですよね

RAIDの有無等いろいろ試してみたいと思います。
0226名無しさん@お腹いっぱい。2009/08/12(水) 13:10:12
>>222
いや、user timeまで遅いのでファイルシステムの問題じゃ無いように思える。
0227名無しさん@お腹いっぱい。2009/08/12(水) 13:12:29
getpwuidが遅いってか
0228名無しさん@お腹いっぱい。2009/08/12(水) 13:14:02
/var/mailならpasswd, group(もしくはNIS?)読んでるのが原因か。
ls -lnでどうなる?
0229名無しさん@お腹いっぱい。2009/08/12(水) 13:17:13
>>228
状況に変化あり

%time ls -ln > /dev/null
0.008u 0.008s 0:00.01 0.0% 0+0k 0+0io 0pf+0w
%time ls -l > /dev/null
1.771u 5.933s 0:07.71 99.8% 31+1491k 0+0io 0pf+0w

/etc/passwdのみです。NISやLDAPの参照はしていません。
0230名無しさん@お腹いっぱい。2009/08/12(水) 13:18:26
たまには、

>>208
>それはソートしてるからだろ。

の、素晴らしいご回答も思い出してあげてください。
0231名無しさん@お腹いっぱい。2009/08/12(水) 13:19:52
>>229
/etc/passwdの行数が多過ぎる。または/etc/groupの。
0232名無しさん@お腹いっぱい。2009/08/12(水) 13:19:58
/etc/pwd.dbがないとか。

でも、2000人もユーザいたらどうしようもないのかも。
試したことないからわかんねえや。
0233名無しさん@お腹いっぱい。2009/08/12(水) 13:21:40
>>229
ユーザー数が多い場合、たとえマシン1台だけでも NIS使った方が速くなるよ。
プレーンテキストの /etc/passwdを読むより、
NISのデータベースを引く方が速いから。
0234名無しさん@お腹いっぱい。2009/08/12(水) 13:23:44
FreeBSDならdb化されてるからプレーンテキストはねーだろ。
0235名無しさん@お腹いっぱい。2009/08/12(水) 13:27:48
nscdとかないのか・・・
0236名無しさん@お腹いっぱい。2009/08/12(水) 13:31:58
こんな結果です

%wc /etc/passwd /etc/group
2384 4792 130013 /etc/passwd
270 278 4284 /etc/group
2654 5070 134297 total
%ls /etc/*.db
/etc/login.conf.db /etc/pwd.db /etc/spwd.db

原因はこのあたりなのは間違いなさそうですね。
アドバイスありがとうございました。いろいろ試そうと思います。
0237名無しさん@お腹いっぱい。2009/08/12(水) 14:31:27
これは結果報告に期待
0238名無しさん@お腹いっぱい。2009/08/12(水) 16:09:30
結局馬鹿は ls -l を使うなということでFA?
0239名無しさん@お腹いっぱい。2009/08/12(水) 17:05:02
馬鹿は自分のホームディレクトリくらいしか
ls -l しないので問題ない
0240名無しさん@お腹いっぱい。2009/08/12(水) 17:13:38
l-_-l l-_-l l -_-l l -_-l l-_,- l
0241名無しさん@お腹いっぱい。2009/08/12(水) 17:30:47
l -_-l l-_- ls
0242名無しさん@お腹いっぱい。2009/08/12(水) 17:39:43
>>206
ディレクトリエントリが猛烈に肥大化しているってことはない?
まだ導入して日の浅い機械のようだしmbox形式のメールスプールならそれはないかな?
0243名無しさん@お腹いっぱい。2009/08/12(水) 18:50:05
>>242
>>229でほぼ原因が特定できてるのに今頃寝言いってんだ?
0244名無しさん@お腹いっぱい。2009/08/12(水) 19:24:30
で、>>229 で原因特定できてるけど、対策法は?

>>236 によると /etc/pwd.db もあるから、db化の問題でもない。

>>233 の言う通り、NIS使う??
0245名無しさん@お腹いっぱい。2009/08/12(水) 19:26:38
stat(2)すら使ったことないようなど素人の分際で会話に入ろうとする身の程知らずって痛いな
0246名無しさん@お腹いっぱい。2009/08/12(水) 19:27:53
>>208
>それはソートしてるからだろ。
0247名無しさん@お腹いっぱい。2009/08/12(水) 19:29:17
/etc/pwd.dbのファイルがあるだけで、
中身が /etc/passwdと整合してないんじゃないの?
0248名無しさん@お腹いっぱい。2009/08/12(水) 19:32:32
username->uidはハッシュで、uid->usernameがリニアサーチなんじゃねーの。
0249名無しさん@お腹いっぱい。2009/08/12(水) 19:33:08
それはそうと。
0250名無しさん@お腹いっぱい。2009/08/12(水) 19:38:34
ばかばっか
0251名無しさん@お腹いっぱい。2009/08/12(水) 19:40:31
>>248
じゃあやっぱりNISで。
yp_match(3) で uid->usernameがハッシュで引けるから。
0252名無しさん@お腹いっぱい。2009/08/12(水) 19:50:30
ls -l するためだけに NISサーバ立てるのか。すげー
0253名無しさん@お腹いっぱい。2009/08/12(水) 20:49:40
【アニメ】 庵野秀明、 ヱヴァ新劇場版完結作の総監督を降板表明 
「ファンの皆様が納得のいくエヴァの結末を今の僕には作れない」 [08/12]
ttp://changi.2ch.net/test/read.cgi/eva/1246974675/l50
0254名無しさん@お腹いっぱい。2009/08/12(水) 23:12:42
USBメモリで起動するFreeBSDを作ったんですが、
USBをブートできるマシンじゃなかったので、ブートの部分だけFDで行って
その先はUSBのデータを利用して起動したいんですが、
そのようなことは可能でしょうか?
0255名無しさん@お腹いっぱい。2009/08/12(水) 23:24:55
>>254
もちろん可能。でもUSBのメリットが半減。
0256名無しさん@お腹いっぱい。2009/08/13(木) 00:09:01
>>206です。解決しました

システムコールでも見てみようと以下のコマンド実行してみた

%truss -o /tmp/truss.ls.out ls
これは問題無し

%truss -o /tmp/truss.ls-l.out ls -l
長時間だんまり。CPUを食いつぶしているっぽい。
Ctrl-Cでも止まらない。結局SuspendしてbgしてKILLシグナルで殺した。

trussの不完全な出力を見ると所々で/etc/nsswitch.confを開いていたことがわかった。

/etc/nsswitch.confを見てみたら以下の記述が…
group: compat
group_compat: nis
passwd: compat
passwd_compat: nis

compatってのはFreeBSD独自?あまり見覚えなかったです。

group: files
passwd: files
に変更したところ以下の結果になりました。

%time ls > /dev/null
0.000u 0.003s 0:00.00 0.0% 0+0k 0+0io 0pf+0w
%time ls -l > /dev/null
0.008u 0.032s 0:00.04 75.0% 40+1880k 0+0io 0pf+0w

いろいろありがとうございました。
0257名無しさん@お腹いっぱい。2009/08/13(木) 00:14:54
>>256

>>229
>NISやLDAPの参照はしていません。

↑の発言と正面から矛盾するわけだが、、
0258名無しさん@お腹いっぱい。2009/08/13(木) 00:16:26
糾弾会の会場はここですか?
0259名無しさん@お腹いっぱい。2009/08/13(木) 00:19:48
>>257
まさかデフォルト設定がこうなっているとは思っても見なかったので…
意図的にNISを使わないと見ないと思ってました。

お騒がせしてすみませんでした。
0260名無しさん@お腹いっぱい。2009/08/13(木) 00:25:57
矛盾していないのでは?
compatってことはSunOSとかと同じ動作でしょ。
最後に+のエントリがあればNISを見るっていう。
質問者がそういうエントリを書いていなければNISの参照まではいってないでしょ。
0261名無しさん@お腹いっぱい。2009/08/13(木) 00:36:22
>>256
自分にとってもすごく勉強になったわ
調査乙!
0262名無しさん@お腹いっぱい。2009/08/13(木) 01:02:05
> %truss -o /tmp/truss.ls-l.out ls -l
> 長時間だんまり。CPUを食いつぶしているっぽい。
> Ctrl-Cでも止まらない。結局SuspendしてbgしてKILLシグナルで殺した。
ここ、もう少し追いかけたいけど技術不足で駄目そう。再現は可能なので時間見つけて頑張ってみます。

ちなみに
試行錯誤の途中で、なんとなくスケジューラーを4BSDにしたりSMP無効にしたりしたけど効果無しでした。
0263名無しさん@お腹いっぱい。2009/08/13(木) 02:47:41
何もかも>>206

>>>208
>すみませんが詳しい方のみ回答をお願いします。

と言ったせい
0264名無しさん@お腹いっぱい。2009/08/13(木) 04:49:45
何処の誤爆か
0265名無しさん@お腹いっぱい。2009/08/13(木) 06:27:47
>>260
矛盾してるだろ。

質問者の /etc/passwdに + で始まる行があるのが原因。
これは、NISを使うと言う意味だから。

ちなみに、nsswitch.confの、passwd: compat や passwd_compat: nis の行は、
デフォルトでそうなってる。それでも、/etc/passwdに +の行がなければ
NISは使われない。

>NISやLDAPの参照はしていません。

と言っているのに /etc/passwdに + の行があった、と言うのは矛盾。

デフォルトの/etc/passwdには +の行がないから、
質問者自身が意図的に +の行を書いたはず。

さらに、対処法としては、デフォルトの nsswitch.confはいじらずに、
/etc/passwdの +の行を削除するのが正解。
0266名無しさん@お腹いっぱい。2009/08/13(木) 06:58:04
>>206です

>>263
>>209は誰か知らない人が書いたようです。

>>260
/etc/passwdには+の行は無いのですよ。
もちろんNISサーバーは立てて無いし、ypほにゃららも動いていない。
そういう意味でNISを使っていないと>>229で書きました。

/etc/nsswitch.confで明示的にfilesのみにしたところ>>256のような効果が出ました。
0267名無しさん@お腹いっぱい。2009/08/13(木) 07:06:12
/etc/passwdに+の行がないのに、
nsswitch.confのデフォルト(passwd: compat passwd_compat: nis)で遅くなるのか?

だとするとOSのバグじゃね? send-prよろしこ。

毎回passwdの+行を見に行く分のオーバーヘッドはあるとしても、pwd.dbで
ハッシュ一発だろうから、trussが戻ってこない(>>262)ほど重くなるのはおかしい。
0268名無しさん@お腹いっぱい。2009/08/13(木) 07:14:07
アンカーミス
>>266中の>>260>>265
0269名無しさん@お腹いっぱい。2009/08/13(木) 07:27:36
>>267
passwdの中に+行があるかどうか調べるため、
まず pwd.db のハッシュを引いて、(それであれば良いが)
なければ、再度 /etc/passwdのプレーンテキストを読み込んでサーチする、
という実装になってるんじゃない?

pwd.dbでは、検索キーが存在する場合に引くのは速いけど、
検索キーが存在しない場合は pwd.dbだけでは不在証明にならないから、
結局 /etc/passwdを全部読み直すハメになると。

だから、むしろ /etc/passwdに +の行を書いて pwd.dbを更新しておいた方が
速い可能性がある。(ypbindが走ってなければNIS読み込みはしないので)
0270名無しさん@お腹いっぱい。2009/08/13(木) 07:42:43
>>269
/etc/nsswitch.confをデフォルトに戻して、/etc/passwdの末尾に+:::::::::を追加してみた。

%time ls -l > /dev/null
1.639u 5.972s 0:07.61 99.8% 32+1501k 0+0io 0pf+0w

+行の有無は関係無さそうです。
0271名無しさん@お腹いっぱい。2009/08/13(木) 07:47:08
+行に関しては pwd.dbを参照しない実装になってる
0272名無しさん@お腹いっぱい。2009/08/13(木) 07:50:36
>>269
もう、発生条件は提示されてるんだから、憶測書き連ねて無いで、
自分で検証すれば?
0273名無しさん@お腹いっぱい。2009/08/13(木) 07:53:25
結論: それは、ソートしてるから by >>208
0274名無しさん@お腹いっぱい。2009/08/13(木) 10:59:47
矛盾してるのは>>265の脳味噌だったというオチw
0275名無しさん@お腹いっぱい。2009/08/13(木) 21:02:46
まじでうぜえ・・・・・・・・そこまでにしとけよボンクラ根暗共
俺の総力いくぜ?
0276名無しさん@お腹いっぱい。2009/08/13(木) 21:25:23
どうぞどうぞ
0277名無しさん@お腹いっぱい。2009/08/13(木) 21:34:52
勘違いしないよういっとくが
俺の総力=俺の総力×皆の総力だからな
これだから勘違いやろうのフォモどもは・・・
0278名無しさん@お腹いっぱい。2009/08/13(木) 21:47:40
お前の総力は0なので正しい。
0279名無しさん@お腹いっぱい。2009/08/13(木) 21:53:44
もういいですぶっこいてねるぁ
0280名無しさん@お腹いっぱい。2009/08/13(木) 21:56:09
>>277
両辺の次元が一致してないので、理系の人間ではないと見た。

ちなみに 力の次元は、kg*m/s^2
0281名無しさん@お腹いっぱい。2009/08/13(木) 22:07:24
>>280
>>277のいう総力はベクトルでなくスカラー(無次元量)なんだよ。
0282名無しさん@お腹いっぱい。2009/08/13(木) 22:10:33
>>281
ベクトルかスカラーかと、
次元を持った量か無次元量か、
は、
それぞれ独立した概念なんだが、、

次元を持ったスカラー量もある。
0283名無しさん@お腹いっぱい。2009/08/13(木) 22:29:43
>>282
>次元を持ったスカラー量もある。

例えば?質量や温度もそうなんだっけ?
0284名無しさん@お腹いっぱい。2009/08/13(木) 22:38:43
>>269
ソース解析よろ
0285名無しさん@お腹いっぱい。2009/08/13(木) 23:00:36
配布ファイルの nsswitch.confのデフォルトを修正するべきだな。
0286名無しさん@お腹いっぱい。2009/08/13(木) 23:04:57
メカニズムを解析せずに表層だけで対処するのは素人
0287名無しさん@お腹いっぱい。2009/08/13(木) 23:08:08
>>286
もう、発生条件は提示されてるんだから、憶測書き連ねて無いで、
自分で検証すれば?
0288名無しさん@お腹いっぱい。2009/08/13(木) 23:12:28
passwd: compat の場合、メカニズム云々じゃなくて、
passwdの中に +::::::::: があるかどうかを
判断しなければならないことは、原理的に避けられないよ。

いまどき passwd: compat で嬉しい人はほとんどいないから、
デフォルトくらい変更しておくべき。
0289名無しさん@お腹いっぱい。2009/08/13(木) 23:21:02
libcの中のgetpwuid()の実装を修正すればいいんじゃないの。
+:::... の有無を1回目に呼ばれた時に static変数で覚えておいて、
同じプログラムから2回目以降に呼ばれた場合はその変数で判断すると。
0290名無しさん@お腹いっぱい。2009/08/13(木) 23:27:41
だからそれが素人だと。
0291名無しさん@お腹いっぱい。2009/08/13(木) 23:45:10
>>289
MT時代にstatic変数とか、すばらしい実装ですな
0292名無しさん@お腹いっぱい。2009/08/13(木) 23:45:35
オウム返しのバカがうざいから再現実験してみた。8-currentでも再現した。

>>288
ファイルオーナーが単一ユーザだと再現しないので、+エントリの検索は無関係。

# for i in `jot 2000 10000`;do echo $i;pw useradd $i -s /usr/sbin/nologin -d /nonexistent -n u$i;touch $i $i;done
# time ls -l > /dev/null
7.99 real 2.76 user 4.47 sys
# time ls -ln > /dev/null
0.05 real 0.02 user 0.02 sys
0293名無しさん@お腹いっぱい。2009/08/13(木) 23:47:45
>>292
ファイルオーナーが単一ユーザの場合、
今度は lsコマンド側でuidのマッピングがキャッシュされてるから速くなるんだよ。

よって、+エントリの検索は関係ある。
0294名無しさん@お腹いっぱい。2009/08/13(木) 23:51:52
>>292
ファイルオーナーが単一ユーザだと、
そもそも getpwuid() が1回しか呼ばれないから、速いのは当たり前。
全然的外れ。
0295名無しさん@お腹いっぱい。2009/08/14(金) 00:00:52
システムコール見たりしてコソコソやってないで最初からプロファイルとれば
済んだ話だろうが。失せろ。、
0296名無しさん@お腹いっぱい。2009/08/14(金) 00:08:10
>>293-294
trussかけてみた。キミ達の憶測は外れ。.dbを読むpreadの呼び出し回数が異常に多い。
$ grep pread /tmp/turss.log |wc
4066001 16264004 256454063

>>295
黙れ。口だけ番長は引っ込んでろ。
0297名無しさん@お腹いっぱい。2009/08/14(金) 00:10:42
>>296
だったら、
nsswitch.confで passwd: files にした時に速くなる理由が説明できないが、、
0298名無しさん@お腹いっぱい。2009/08/14(金) 00:39:30
おまえら/usr/srcにあるソースという名のマニュアルくらい読めよ
getpwuid()のキャッシュは直前の1つのみだ
0299名無しさん@お腹いっぱい。2009/08/14(金) 00:53:23
>>298
それではこの現象の説明がつかないのだよ。
0300名無しさん@お腹いっぱい。2009/08/14(金) 00:59:04
妄想をもとにして現実の方が矛盾してる!と叫ぶ某半島人のような方が昨日から……w
0301名無しさん@お腹いっぱい。2009/08/14(金) 01:33:30
基地害チョッパリはどっか逝け
0302名無しさん@お腹いっぱい。2009/08/14(金) 03:09:48
7.2とか8でカスタムカーネル(Build world等々)なんかをするときに
システムのメモリ容量は最低どれくらい積んでないとまずい?

少ない容量でも時間がかかるだけで、問題なく処理できるのかしら
NTP鯖など単純な鯖を作るときに、Buildの為だけに必要以上のメモリを与えるのも
勿体無いし、かと言って他のファイル鯖なんかに統合するのもどうよって感じで

0303名無しさん@お腹いっぱい。2009/08/14(金) 03:21:22
16MB
0304名無しさん@お腹いっぱい。2009/08/14(金) 03:40:04
>>303
Thx

そんなものでいいのか
どちらかといえば、コンパイルのためのディスク容量の方が必要ってことか...
0305名無しさん@お腹いっぱい。2009/08/14(金) 07:37:29
>>297
nsswitch.confで passwd: compatの場合、
/etc/passwdの書式として、今では最終行に +:::::::::を書く書式だけしか
使われなくなっているけど、実は他にもある。
+hoge とか、+@netgroup とか。

この +@netgroup(という仕様が存在すること)が問題。
どういうネットグループが存在するかは、passwdの全行を読んでみないと
わからないため、結局あるユーザーのpasswdを引くためには、
全エントリーを読む必要が生じる。
(+@netgroupの書式が存在しないことを確認するためにもpasswdの全行を読む必要がある)
よって、passwd: compatの場合は pwd.dbの意味がなくなる。
passwd: compatが遅いのはこのせい。
0306名無しさん@お腹いっぱい。2009/08/14(金) 07:55:20
>>305
>>296の4066001回はpwd.dbをpreadした回数なので、それはダメ推理。
0307名無しさん@お腹いっぱい。2009/08/14(金) 07:57:36
>>306
pwd.dbをpreadしたうえでpasswdも(p)readするという駄目実装になっているんだよ。

で、pwd.dbのpread自体は高速なので、回数が多くてもこの場合の問題とは関係ない。
0308名無しさん@お腹いっぱい。2009/08/14(金) 08:01:23
>>307
ダメな奴だな。trussしてから言えよ。pwd.dbのpread回数だよ。
0309名無しさん@お腹いっぱい。2009/08/14(金) 08:02:36
>>306
じゃあ、pwd.dbだけを読んで、+@hoge とか +@boke とか
(hoge や bokeの名前は未知)が「存在しない」ことを確認できるか?
pwd.dbは、あくまで既知の名前を引く時しか役に立たないから。
0310名無しさん@お腹いっぱい。2009/08/14(金) 08:06:28
>>308
だから、検索キーを使わずに、pwd.dbの全エントリを毎回読み直してるんじゃないの?
シーケンシャルにpwd.dbを読むモードもあるでしょ。
全エントリを読む必要があるのは passwd: compatの場合のみ。
これで説明が付く。

passwd: filesの場合は、userをキーにして1回読むだけで済むから速い。
passwd: compatの場合は、+@net とかの関係で全エントリを読むから遅い。
0311名無しさん@お腹いっぱい。2009/08/14(金) 08:37:55
>>310
答え
0312名無しさん@お腹いっぱい。2009/08/14(金) 09:07:36
>>309
現実より、妄想が優先する人ですか? trussしてから出直しな。
0313名無しさん@お腹いっぱい。2009/08/14(金) 09:15:10
>>312
>>310 に答が出てるから、出直すも何もこれで議論解決だよ。

ついでに言うと、>>308 は trussで実験したはいいが、
「なぜ passwd: compatとfilesに違いが出るのか」については一切解明していない。

passwdかpwd.dbかの違いはあまり問題ではなくて、
エントリを「ひとつだけ読む」か「全部読む」かの違いなんだな。
その意味では、>>288 の時点で答えに近いところがすでに書かれていた。
0314名無しさん@お腹いっぱい。2009/08/14(金) 09:35:51
>>313
キミ達のように妄想書きなぐるだけじゃ無くて、確認しながら進めてるからな。

> passwd: compatの場合は、+@net とかの関係で全エントリを読むから遅い。
残念ながら、これは完全な答では無いんだ。compatでも速い場合がある。
0315名無しさん@お腹いっぱい。2009/08/14(金) 09:45:23
>>314
passwd_compat: dns とか言うなよ。passwd_compat: nisの話をしてるんだから。
■ このスレッドは過去ログ倉庫に格納されています