- - PR -
"pstree -a | grep smbd" とすると親プロセスが大量にいる
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-28 15:25
Red Hat Linux 3.2.3-20
samba-2.2.8a.ja-2.rh9 cpu Pentium4 3.2G mem 1024MB hdd 250G(SATA) * 2 という構成のサーバーでwindowsクライアント30台程度にファイル共有をしています。 最近ある時刻になるとサーバーのファイルを参照している アプリケーションがエラーを起こすようになりました。 そこで wコマンドで load averageを調べると 15:10:57 up 4 days, 22:04, 2 users, load average: 2.00, 2.04, 2.01 vmstatで負荷の割合?を調べると procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 2 16064 59548 130876 706132 0 0 27 36 26 7 2 5 40 3 us 2 sy 5 とシステムの負荷が高いようです。 webで調べたのですがsmbd自体は軽いのですが、ファイルの状態を調べるために 大量のsystem callを発生するためsystemの負荷が上がるという情報から sambaが怪しいと考えました。 pstree -a | grep smbdとすると |-smbd -D | |-smbd -D | |-smbd -D | [略:20個以上] | `-smbd -D |-smbd -D |-smbd -D |-smbd -D [略:50個以上] |-smbd -D |-smbd -D |-smbd -D |-smbd -D |-smbd -D という結果で 正常に動いている他のサーバーと比べると 親?プロセスがたくさんあるという点に疑問を持ちました。 この原因はsambaと考えられますでしょうか? アドバイスお願いいたします。 | ||||||||||||
|
投稿日時: 2005-09-28 15:54
こんにちわ.
smbd は session 毎に daemon を持ち上げるのでは? そういう意味ではなく? 最初に待ち受けているのは1つのはずですけど. | ||||||||||||
|
投稿日時: 2005-09-28 16:26
kazさん
迅速なレスありがとうございます。 smbdが1つありsession毎にdaemonを持ち上げているというのは以下のような状態でしょうか? init | [略] |-smbd(待ち受け) という状態のサーバーに4つのクライアントがアクセスすると init | [略] |-smbd(待ち受け) | |-smbd(session 1) | |-smbd(session 2) | |-smbd(session 3) | |-smbd(session 4) | のようになると私は思っていたのですが、 以下のように待ち受けのsmbdが複数あり、その中の1つだけがdaemonを連ねている状態です。 init | [略] |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) |-smbd(待ち受け) | |-smbd(session 1) | |-smbd(session 2) | |-smbd(session 3) | |-smbd(session 4) | | ||||||||||||
|
投稿日時: 2005-09-28 16:55
load averageの結果や、vmstatでb 2となっていますし、 IO処理待ちのプロセスが2ついるのではないでしょうか? # ps ax とやってみて、statが “D”のプロセスはいませんか? | ||||||||||||
|
投稿日時: 2005-09-28 17:29
anights様 レスありがとうございます。
smbdに限るとstatが "D" のプロセスは1つでした。 stat D "割り込み不可の停止"はどういう意味なのでしょうか? ps -alx としたところstat が "D" のプロセス 5 132 27362 1 15 0 4440 992 down D ? 0:00 smbd -D となっていました。 [ メッセージ編集済み 編集者: koara 編集日時 2005-09-28 17:31 ] 進展がありましたので、情報追加せさて下さい。 anights様 の
が気になり調べていたのですが。 smbd でstatが "D"のものは1つしかありませんでした。 そこで原因が違うのではと考えいろいろとプロセスを再起動させていたところ postgresを再起動させた直後に cpu load averageは 17:36:33 up 5 days, 29 min, 3 users, load average: 0.00, 0.05, 0.64 となり vmstatは procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 14532 67320 77680 793100 0 0 27 39 28 11 2 5 41 3 となりました。 根拠はないのですがsmbd のstat "D" がdownしたため smbdは子プロセスとして持ち上がらず親プロセスとなってしまった。 というのが私の推察なんですがどうでしょうか? [ メッセージ編集済み 編集者: koara 編集日時 2005-09-28 17:45 ] | ||||||||||||
|
投稿日時: 2005-09-28 18:03
この辺りにいっぱい書かれています。参考まで。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=21967&forum=10&start=40 先ほど書くのを忘れましたがvmstatコマンドは # vmstat 5 などとインターバルを与えて結果を取られた方が宜しいかと。 一度きりだとある一瞬のステータスでしかないので 常時IO待ちが出ているのか、瞬間的なものなのか判断がつきません。 えーと、postgresqlも動いているんですか そうなると全体的にどのような用途で使われてるかを提示して 頂いた方がコメントがつきやすいかと。 つまり現象としては、sambaに出ているかもしれませんが 原因は他の所にあるかもしれませんし。 | ||||||||||||
|
投稿日時: 2005-09-28 23:03
us sy id wa を合計しても50程度にしかならず、100にはほど遠いことが
気になります。カーネルがまともに動いていないんじゃないか、という 疑いを持ってしまうんですが、とりあえずそれは見なかったことにすると... load average は三つとも2程度ですね。高めの水準で安定している。 もっと細かく vmstat をとってみないとアレですが、CPU使用率はたいした ことなさそうだし、ほとんどがディスクI/O待ちなのではないでしょーか。 最近になって急にこういう症状が出てきたのだとすると、 ・ユーザの利用が増えた という可能性もありますが、 ・ディスクが壊れかけていて読みにくくなっている という可能性もあるかと思います。 あ、postgresというのを読み落としてました。 そっちが怪しいかなあ... [ メッセージ編集済み 編集者: ぽんす 編集日時 2005-09-28 23:05 ] | ||||||||||||
|
投稿日時: 2005-09-29 13:15
anights様 ありがとうございます。
読んで理解するのに時間がかかりましたが、 stat D "割り込み不可の停止" だけではなく vmstat の結果をどう読むかすごく勉強になりました。 今回の場合 vmstatが b 2 となっていたので ps -ax で stat D のプロセスが2つないかと言われたわけですよね。 io の di doの話とてもおもしろかったです。
vmstat 5としてみた所 現在は procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 14524 19972 67980 864220 0 0 27 35 19 35 2 5 5 4 0 0 14524 19952 68008 864236 0 0 0 66 153 88 0 0 100 0 0 0 14524 19928 68040 864288 0 0 0 3 106 19 0 0 100 0 0 0 14524 19924 68044 864288 0 0 0 3 104 19 0 0 100 0 0 0 14524 19924 68048 864284 0 0 0 20 107 19 0 0 100 0 0 0 14524 19924 68048 864284 0 0 0 4 106 19 0 0 100 0 となりました。 vmstat だけだと統計が出るのですね。
postgresql-server-7.4.5-2 が動作しています。 具体的な用途としては ファイル、データベース共通のデータ用サーバーとなっております。 apache,php等は動作しておらずクライアントのアプリケーションに ただデータを見せています。 |
1|2|3|4
次のページへ»