- - PR -
"pstree -a | grep smbd" とすると親プロセスが大量にいる
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-29 13:56
ぽんす様 いつもありがとうございます。
vmstat 3 としたところus sy id waの合計が1行目以外は100になりました。 現在は procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 14516 18628 72348 862692 0 0 0 12 106 22 0 0 100 0 0 0 14516 18628 7 2348 862692 0 0 0 0 104 14 0 0 100 0 0 0 14516 18620 72356 862692 0 0 0 5 106 19 0 0 100 0 0 0 14516 18612 72364 862692 0 0 0 5 105 17 0 0 100 0 0 0 14516 18612 72364 862692 0 0 0 0 105 16 0 0 100 0 0 0 14516 18604 72372 862692 0 0 0 7 107 19 0 0 100 0 0 0 14516 17804 72372 862432 0 0 0 196 208 177 1 1 98 0 0 0 14516 17508 72388 862696 0 0 2601 80 348 431 4 2 67 26 0 0 14516 19492 72396 860880 0 0 0 81 145 47 6 0 94 0 0 0 14516 19856 72396 860888 0 0 0 0 111 23 0 0 100 0 0 0 14516 19848 72400 860892 0 0 0 75 112 25 0 0 100 0 1 0 14516 19848 72396 860896 0 0 0 0 105 18 0 0 100 0 0 0 14516 19844 72400 860896 0 0 0 5 108 20 0 0 100 0 0 0 14516 20896 72440 860940 0 0 3817 3027 694 735 1 5 26 67 0 0 14516 20896 72440 860952 0 0 0 580 314 561 1 2 95 2 0 0 14516 20888 72448 860952 0 0 0 37 108 22 0 0 100 0 0 0 14516 20888 72444 860956 0 0 0 0 105 15 0 0 100 0 0 0 14516 20880 72452 860956 0 0 0 5 106 21 0 0 100 0 0 0 14516 20868 72464 860964 0 0 0 244 208 243 0 1 97 1 0 0 14516 20864 72464 860968 0 0 0 0 106 19 0 0 100 0 0 0 14516 20856 72472 860968 0 0 0 56 109 26 0 0 100 0 という状態です。 vmstat自体初めて見ているのでこのディスクI/Oの値が正常なのかわかりません。 ちなみにsambaのプロセスは pstree -al | grep smbd |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | |-smbd -D | `-smbd -D という状態で今日は通常時よりもセッションが少ない方です。 postgresの方は 9434 ? S 0:08 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data -D data 9438 ? S 0:55 postgres: stats buffer process 9439 ? S 0:43 postgres: stats collector process となっていました。
最近の変化としてはsambaのセッションは変わらないと思いますが、 ファイルからDBへ移行している過程でpostgresの負荷は高くなっているかもしれません。 ディスクが壊れかけているか調べるにはどうしたらいいのでしょう? /procに統計か何かがあるのでしょうか? 少し追加させてください。
と昨日報告したのですが、messagesに気になるログが残っていました。 grep "kernel: lease broken" /var/log/messages Sep 28 11:18:53 servername kernel: lease broken - owner pid = 27362 Sep 28 11:19:37 servername kernel: lease broken - owner pid = 27524 Sep 28 11:21:10 servername kernel: lease broken - owner pid = 27524 Sep 28 12:08:49 servername kernel: lease broken - owner pid = 27524 Sep 28 12:14:42 servername kernel: lease broken - owner pid = 24236 Sep 28 12:23:35 servername kernel: lease broken - owner pid = 24236 Sep 28 12:24:52 servername kernel: lease broken - owner pid = 24236 Sep 28 12:27:56 servername kernel: lease broken - owner pid = 24236 Sep 28 12:32:43 servername kernel: lease broken - owner pid = 24236 Sep 28 12:34:01 servername kernel: lease broken - owner pid = 24236 Sep 28 12:44:35 servername kernel: lease broken - owner pid = 24236 Sep 28 12:46:59 servername kernel: lease broken - owner pid = 24236 Sep 28 12:48:16 servername kernel: lease broken - owner pid = 24236 Sep 28 12:49:33 servername kernel: lease broken - owner pid = 24236 Sep 28 12:50:50 servername kernel: lease broken - owner pid = 24236 Sep 28 12:56:06 servername kernel: lease broken - owner pid = 24236 Sep 28 12:57:23 servername kernel: lease broken - owner pid = 24236 Sep 28 13:35:15 servername kernel: lease broken - owner pid = 31147 Sep 28 13:41:48 servername kernel: lease broken - owner pid = 30958 Sep 28 14:11:12 servername kernel: lease broken - owner pid = 660 Sep 28 14:12:29 servername kernel: lease broken - owner pid = 660 Sep 28 14:12:51 servername kernel: lease broken - owner pid = 31515 Sep 28 14:14:03 servername kernel: lease broken - owner pid = 549 Sep 28 14:15:03 servername kernel: lease broken - owner pid = 549 Sep 28 14:16:04 servername kernel: lease broken - owner pid = 549 Sep 28 14:16:41 servername kernel: lease broken - owner pid = 960 Sep 28 14:17:58 servername kernel: lease broken - owner pid = 960 Sep 28 14:19:15 servername kernel: lease broken - owner pid = 960 Sep 28 14:39:26 servername kernel: lease broken - owner pid = 398 Sep 28 14:40:43 servername kernel: lease broken - owner pid = 398 Sep 28 14:46:21 servername kernel: lease broken - owner pid = 398 Sep 28 14:47:38 servername kernel: lease broken - owner pid = 398 Sep 28 15:00:02 servername kernel: lease broken - owner pid = 398 Sep 28 15:00:52 servername kernel: lease broken - owner pid = 960 Sep 28 16:05:19 servername kernel: lease broken - owner pid = 549 Sep 28 16:07:20 servername kernel: lease broken - owner pid = 549 先頭のpidとps -ax でdownとなっていたプロセスのpidが同じです。 | ||||||||||||
|
投稿日時: 2005-09-29 18:48
この辺ググるとsambaの設定でoplocksの話とかが引っかかりますが (ファイルビジーになるとか) oplocks = noとかしたらどうなんでしょうねぇ。 | ||||||||||||
|
投稿日時: 2005-09-29 19:44
anights様 こんばんは。
実はちょうど私も smbstatus で Locked files: が大量に見つかったので"lease broken"を調べていてoplocksに行き当たったところです。 ただ、ファイルロックをしないというのがどういう事になるのか怖いです。 | ||||||||||||
|
投稿日時: 2005-09-29 19:59
こんばんわ.
いまさらですが,確認したら2つでした. ゴメンナサイ. ※nmbd は1つでしたが. | ||||||||||||
|
投稿日時: 2005-09-29 20:12
kaz様 ありがとうございます。
今さらなんてとんでもないです。 ありがとうございます。 pstree でinitの直下にプロセスが1つということですか? それでしたら私の環境では今もnmbd,smbdとも1つでした。 | ||||||||||||
|
投稿日時: 2005-09-29 20:23
です. | ||||||||||||
|
投稿日時: 2005-09-30 11:35
anights様 おはようございます。
kernel oplocks、sambaのoplocksという仕組みで linux,windows,nfsというような異なるOS間やnfsしたファイルに対して 排他処理を実現しているとは知りませんでした。 参考url: http://www.samba.gr.jp/project/translation/2.2.5/manpages/smb.conf.5.html#KERNELOPLOCKS 知らなかったのが幸いで、 今までwindowsのクライアントアプリケーションでは必ずlockファイルを作り linux側もそのlockファイルを確認するという運用をしてきました。 smb.confに oplocks = no level2 oplocks = no と記述するだけで解決できるかもしれません。 あとはディスクI/Oの負荷の原因を追ってみるつもりです。 本当にありがとうございます。 | ||||||||||||
|
投稿日時: 2005-09-30 14:14
自己レスです。
smbdを再起動しても消えないので、ファイルを見ているだけかなと調べました。 /var/cashe/samba/locking.tdb というファイルがありました。バイナリだったので編集はできませんでしたが、 なかにパスらしい記述がいくつもありました。 次にこのファイルの情報を表示しているだけなら、安全に消す方法がありそうだと思い調べると testparm | more smb.confのdefault設定に dead time = 0 という記述があり dead time = 1 として1分待つことで無事smbstatusのLocked files:を消すことが出来ました。 もし同じ境遇に行き当たった方の参考になれば幸いです。 |