zabbix 1.8.1 のメモリ使用量のチューニングについて
お世話になってます。
1.8.1(ソースからインストール)にて
1サーバのアイテム65個(計算アイテム&ログ監視あり)、
5サーバの監視を行っています。
サーバにのせるメモリ量が諸事情により512MBしか乗せることが
できず、現状スワップを使用してメモリを食いつぶしているので
何とか使用量を減らそうとチューニング中です。
Mysqlについてはできるだけ、パフォーマンスに影響が出ない程度に、メモリ使用量を減らしたのですが、
zabbix-server自体のメモリ使用量が肥大化しており、使っているプロセスだと平均160M前後を使用しており、何とかこれを抑えられないかと調べております。
質問としては、下記になります。
・sabbix-server側で一定アクセスor一定時間でプロセス再起動みたいな機構はないか
(ApacheのMaxRequestsPerChildみたいなやつです)
・メモリ使用量を抑えるために他にzabbix側でチューニング可能な個所はあるか
以上、よろしくお願いします。
やっぱ計算アイテムやログ取得のアイテムを使ってることが原因ですかねぇ…
KAZ - 投稿数: 1085
kugu_kuguさん
swapが多発していると言うことですよね?
事象的には下記の流れと思っていいですか?
1)Momoryが枯渇
2)swap多発
3)多分CPU使用率が高くなる。(ロードアベレージも高くなる)
512MBだとapacheとMySQLだけで厳しいような…A(^^;
どのプロセスが、どの位使用している分かりますか?
※:psコマンド等
Zabbixサーバを止めるとswap多発は発生しなくなりますか?
kugu_kugu - 投稿数: 19
Apacheの起動プロセス数を一桁にして、mysqlをカツカツにチューニングしてるので、Apache,mysqlを起動しても512MBでも余裕だったりします。
CPU使用率は若干高い程度ですね、ロードアベレージは高くなっていません。
zabbix-serverを止めるとswapはほとんどなくなります。
zabbix-server起動直後はメモリに余裕はありますし、プロセスが使用しているメモリ使用量は1プロセス50M前後ですね。1日ほっとくと150Mぐらいまで膨れ上がるプロセスが3〜4個いる形ですね。
プロセス数は全部で90ぐらいです。(zabbix-server込)
KAZ - 投稿数: 1085
kugu_kuguさん
なるほど…
zabbix-serverを止めるとswapしなくなるってことはzabbix-serverっぽいですかね…
調べたのはpsコマンドでしょうか?CentOSでps aux|grep zabbixと実行するとVSZとRSSの二つの値が取れ、リアルメモリはRSSの方です。
kugu_kugu - 投稿数: 19
はい、そういえばリアルメモリはRSSでしたね…、改めて見たところ、起動直後は1プロセス4M前後で、スワップしまくってるときは60MB/プロセスが数個いますね。
mysqldよりRSSを使っているzabbix-serverプロセスがいたりします。
ちなみに使ったコマンドは「ps aux | sort -k5 -n」としてます。VSZの少ない順に並べてくれるので便利です。RSSなら「k5」→「k6」
ですね。
kodai - 投稿数: 1341
こんにちは。
メモリが512MBだとつらいところもあるとは思いますが、それほど多くの監視項目があるようでもないですし、Zabbixサーバの起動プロセス数を絞ってみてはどうでしょうか。
具体的には、/etc/zabbix/zabbix_server.confで
StartPollers=
StartTrappers=
あたりの設定がデフォルトでは5に設定されていますので、これを可能な限り(管理->キュー画面でアイテムがキューに溜まらない程度に)少なくすればメモリ使用量も削減できるかもしれません。
kugu_kugu - 投稿数: 19
了解しました。上記設定を試してみて、削れるところまで削ってみたいと思います。
ところで話はすこし変わりますが、zabbixに自分自身のサーバ監視もやらせているのですが、
空きメモリ容量を見てみると緩やかな右下への下降線を辿っています。でメモリを食い潰して、スワップを使い始める感じです。
psの状態を比較するに「zabbix-server」プロセスがメモリ領域を徐々に使用しているように見えるのですが、何か情報をため込んでいるのでしょうか?
ってここまでくるとソースを追わないとだめですかね・・・
ちなみに上記kodaiさんの施策を実施して数時間見てみましたが、同じ状況です。
計算アイテム(空きメモリ関連を計算させてます)&ログ監視(具体的にはlog["/var/log/messages","","",50] で監視、他2ファイル)
をしている影響があるのでしょうか。
KAZ - 投稿数: 1085
kugu_kuguさん
本家のサポートを覗いてきました。
1.8.1のZabbixサーバでメモリ・リークが報告されていて、1.8.2で解消されるらしいです。
key:ZBX-2051
[url=https://support.zabbix.com/browse/ZBX-2051]Possible memory leak in zabbix 1.8.1 on CenOS 5.4 Final[/url]
kugu_kugu - 投稿数: 19
了解です。という事は1.8.2がリリースされるまではzabbix-serverの定期再起動が必要っぽいですね。ちょっと検討してみます。
また1.8.2のリリースが遅いようなら1.6へのダウングレードも検討してみます。
あと、1.8.2がリリースされたら、1.8.1→1.8.2にアップグレードが必要と。
アップグレード手順ってありましたっけ…
KAZ - 投稿数: 1085
kugu_kuguさん
1.8.2はもうちょっとでリリースされるかと。
アップグレード方法は1.8,2が出ないと分からないかと…A(^^;
バージョンが変わらなければ、実行ファイルとwebフロントエンドの差替えで行けるはずですが、リビジョンが低いうちはSQLの実行も必要になることもあります。