proc.mem パラメータのsumについて
Zabbix1.8.5にて実運転前のテストで
proc.memアイテムをZabbixサーバー自身に
それぞれのmodeで試してみたところsumだけ
かけ離れた戻り値が帰ってきました。
設定したアイテム・パラメータとその戻り値は次の通りです。
proc.mem[httpd,root,avg,] 28.45 MB
proc.mem[httpd,root,max,] 28.45 MB
proc.mem[httpd,root,min,] 28.45 MB
proc.mem[httpd,root,sum,] 502.17 MB
この状態からまったく動かない状態となっております。
maxとminが同じでavgが同じという状況は説明がつくのですが
max=minであるならほかのプロセスが存在しないこととなり、
sumも同じ値にならないといけないと思われます。
proc.memのmode:sumはどのような処理の元、
戻り値を返しているかご存知の方がいらっしゃいましたら
ご教授いただけますでしょうか。
なお、当方の環境は下記の通りです。
OS:CentOS5.6
CPU:Intel(R) Celeron(R) CPU 2.60GHz
Memory:2.5GB
tsuzuki - 投稿数: 78
鈴木です。
特にsumの動作がおかしいとは思えません。
proc.memでは、sumはプロセス(今回の場合はhttpd)のメモリ使用量の合計値を返します。
httpdのプロセスが複数動作していませんか?
そしてその複数プロセスのメモリ使用量の合計値がsumの結果と近い値になっていませんか?
とりあえず、以下コマンドの結果と一緒に再度 proc.mem[httpd,root,sum,] の値をもらえますか?
$ ps aux|grep httpd
-----------------------------------------------------------
以下は私の環境での例になります。
$ ps aux|grep httpd
root 2565 0.0 0.2 441532 12320 ? Ssl Jul05 1:09 /usr/sbin/httpd
apache 3828 0.0 0.3 453384 23216 ? S Aug04 0:02 /usr/sbin/httpd
apache 4635 0.0 0.3 453068 22876 ? S Aug04 0:00 /usr/sbin/httpd
apache 5036 0.0 0.3 453664 23504 ? S 00:00 0:03 /usr/sbin/httpd
apache 5670 0.0 0.3 452612 22528 ? S 00:05 0:00 /usr/sbin/httpd
apache 5929 0.0 0.3 453680 23504 ? S 00:10 0:02 /usr/sbin/httpd
apache 6555 0.0 0.1 441532 7488 ? S 00:23 0:00 /usr/sbin/httpd
例えば上記の場合、proc.mem[httpd,,sum] で 3225059328 が返ってきます。
(441532+453384+453068+453664+452612+453680+441532) x 1024 = 3225059328
で計算も合っています。
-----------------------------------------------------------
よろしくお願いします。
sakurai - 投稿数: 2
鈴木さま
ご連絡遅くなってしまい申し訳ございません。
また、ご確認いただきありがとうございました。
結論を先に申しますと、
ご指摘いただいた通りの内容でした。
現在確認した値は下記になります。
proc.mem[httpd,root,avg,] 29.28 MB
proc.mem[httpd,root,max,] 29.28 MB
proc.mem[httpd,root,min,] 29.28 MB
proc.mem[httpd,root,sum,] 29.28 MB
(参考)proc.mem[httpd,,sum,] 745.36 MB
$ ps aux |grep httpd
------------------------------------------------
root 2573 0.0 0.5 29980 13156 ? Ss Aug04 0:07 /usr/sbin/httpd
apache 9005 2.1 0.8 45756 22964 ? S 07:29 7:13 /usr/sbin/httpd
apache 9278 1.8 1.0 51220 28360 ? S 07:39 6:08 /usr/sbin/httpd
apache 10775 2.1 1.0 51248 28416 ? S 08:32 5:44 /usr/sbin/httpd
apache 11123 2.3 0.9 47388 24616 ? S 08:44 6:13 /usr/sbin/httpd
apache 12268 2.4 1.0 51184 28424 ? S 09:23 5:28 /usr/sbin/httpd
apache 14137 2.1 0.8 45732 22996 ? S 10:28 3:24 /usr/sbin/httpd
apache 16194 2.6 0.8 45724 22920 ? S 11:40 2:11 /usr/sbin/httpd
apache 16195 3.1 0.8 45728 22960 ? S 11:40 2:34 /usr/sbin/httpd
apache 16196 2.7 0.9 47396 24596 ? S 11:40 2:15 /usr/sbin/httpd
apache 17461 2.9 1.0 51192 28364 ? S 12:18 1:19 /usr/sbin/httpd
apache 17937 1.8 0.8 45716 22912 ? S 12:32 0:35 /usr/sbin/httpd
apache 18624 2.4 1.0 51244 28384 ? S 12:52 0:16 /usr/sbin/httpd
apache 18634 2.2 1.0 51236 28332 ? S 12:52 0:14 /usr/sbin/httpd
apache 18635 2.1 1.0 51236 28336 ? S 12:52 0:14 /usr/sbin/httpd
apache 18711 2.8 1.0 51272 28352 ? S 12:54 0:15 /usr/sbin/httpd
------------------------------------------------
現在 proc.mem[httpd,root,sum,] が他のパラメータと同じ値として取れている事から
何らかの理由で最新データの取得が正しくできていなかったなどの問題と考えられます。
関数の動作には何も問題ないことが確認できました。
お手数をおかけしてしまい、申し訳ございませんでした。
tsuzuki - 投稿数: 78
鈴木です。
ご確認ありがとうございました。
解決というか、とくに問題あったわけでなくてよかったです。