Zabbixからswap領域の警告メールが来た場合の2つの対処法

swap-warning

自宅サーバーCentOS 7)を構築してしばらく経つのですが、今頃になって以下のようなメールが通知されるようになりました。

Lack of free swap space on {HOSTNAME}

メモリ4GBも積んでいるのに、どうやらswap領域が足りない様子。
時間的に夜間のバックアップ時に通知されているようなので、一時的なものだと思われるが放っておくのも気持ち悪い。
そこで、swap領域警告に対処するための2つの方法をご紹介します。

swap領域とは?

そもそも、swap領域とは何でしょう?
※知っている方は読み飛ばしてください
私的には、メモリが足りなくなった際の補助領域くらいにしか思っていませんでした。
一言でいうと、

使っていないメモリの内容を一時的にしまっておくための場所

らしいです…。
以下の参考サイトに図解で分かりやすく掲載されていますので、ぜひ参考にしてみてください!

1. swap領域の拡張(追加)

swap領域が足りないって言ってるんだから、追加してあげましょう。
しかし、ただ好きなだけ追加したら良いってわけじゃなさそうです。
推奨しているswap領域目安があるらしいので、どのくらい割り当てるか、以下を参考にしてみてください。

確保するswap領域の目安

swap領域は、OSインストール中に自動的に確定されますが、最適なパフォーマンスを出すためには、swapサイズ手動で指定することが推奨されています。

RAM の容量(GB)推奨 Swap 領域(GB)ハイバネートを許可する場合の推奨 Swap 領域(GB)
2GB 以下RAM * 2RAM * 3
2GB から 8GBRAM と同じRAM * 2
8GB から 64GB最低 4GBRAM * 1.5
64GB 以上最低 4GB推奨しない
引用:Red Hat Customer Portal

swap領域を確認する

まずは、以下のコマンドで現在のswap領域がないか確認します。

free -m             total       used       free     shared    buffers     cached
Mem:          7872       7728        143          0         15       3325
Swap:         4095          3       4092

次に有効になっているswapを確認します。

swapon -sFilename        Type            Size    Used    Priority
/dev/dm-1       partition       1639    83592   -1

既にswap領域がありましたね。
どうやら、全く知識がないままCentOS 7をインストールした際に「標準パーティション」として設定したようです…。余談ですが、ファイルシステムLinux標準の「ext4」ではなく、「xfs」のままに設定していた場合、swapパーティションを拡張する際に注意が必要になりますが、今回はswapファイルを作成しますので、ここでは特に説明しません。
※著者はこれでサーバーを破壊してしまいました

swapファイルを作成する

対象のサーバーに割り当てているメモリ4GBですので、上記の目安を参考に、トータル4GBswap領域にします。
今回は、既に1.6GBswapパーティションが存在しますので、2.4GB分のswapファイルを作成していきます。

swapファイル領域を確保

dd if=/dev/zero of=/swapfile bs=1M count=2457

パーミッションの変更

chmod 600 /swapfile

swapファイルを作成

mkswap /swapfile

swapファイルを有効化

swapon /swapfile

起動時に自動で有効化

最後にサーバーが起動した際に、作成したswapファイルが自動で有効になるよう、ディスクのマウントと同じ要領でfstabの末尾に追記します。

vi /etc/fstab
/swapfile swap swap defaults 0 0

2. Zabbixの監視を無効にする

もう1つは、swap領域Zabbixの監視対象から外す方法です。
使わないんだったら監視しなくてもいいじゃん!って発想。
Zabbix管理画面からswapトリガー無効にします。[設定] > [テンプレート] > [Template OS Linux] > [トリガー]を開きます。
[Lack of free swap space on {HOST.NAME}]のステータスの右側にある[有効]をクリックし、[無効]にします。

出典:Zabbix 3.2をCentOS 7にインストールする – Qiita

これで通知が来なくなりましたね。


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA