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 の写真

鈴木です。

特に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 の写真

鈴木さま
ご連絡遅くなってしまい申し訳ございません。
また、ご確認いただきありがとうございました。

結論を先に申しますと、
ご指摘いただいた通りの内容でした。
現在確認した値は下記になります。

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 の写真

鈴木です。

ご確認ありがとうございました。
解決というか、とくに問題あったわけでなくてよかったです。