【FortiGate】インターネットへの接続が遅い、重いもしくは繋がらない【コンサーブモード(Conserve mode)に入った時の対処法】

今回はFortiGateのコンサーブモード(Conserve mode)に入った際の対処法を紹介したいと思います。
この機能は、インターネット接続が低速になる。もしくは繋がらない等といった場合に
原因として考えられる中の一つです。

コンサーブモード(Conserve mode)とは
コンサーブモード(Conserve mode)とはFortiOSのメモリに余裕が無くなった際に、
機能を節約(コンサーブ)しながら動作させるモードです。

デフォルトではメモリ使用率88%を超えると、コンサーブモードに自動で切り替わります。
そのため、FortiGateのメモリ使用率が高まると機能を制限する影響で、
インターネット接続が遅くなったり繋がらなくなったりする場合があります。

コンサーブモードに入ると、FortiGateの管理画面に以下のように表示されます。

この場合、対処法としては特定のプロセスを終了させる方法があります。

まずはFortiGateで動作しているプロセスを確認しましょう。

CLIにて「diagnose sys top」と入力し、Enter押下

表示された情報の内容は以下の通りです。
1列目:プロセス名
2列目:PID(プロセス ID)
3列目現在のState
R: Running (動作中)
S: Sleep (停止中)
Z: Zombie (ゾンビ状態)
D: Disk Sleep (割り込み不可能なディスクスリープの待機状態)
4列目:CPU使用率(%)
5列目:メモリの使用率(%)

■diagnose sys top実行中の操作
このコマンドを実行中に以下のキーを入力することができます
q: このコマンドを終了します
c: CPUの使用率順にソートします
m: メモリの使用率順にソートします

【5列目:メモリの使用率(%)】が異常に高くなっているプロセスを終了させます。

■プロセスを終了させる方法
以下のコマンドで、特定のプロセスを終了させることが出来ます。

diagnose sys kill <プロセスID>

: プロセスに送るシグナルを指定します。プロセスを終了させるときには通常11を指定します。この場合にはcrashlogを出力しますので、トラブルシューティングの際によく使用されます
: diagnose sys topコマンドで確認できたPIDを指定してください

例えば、PIDが903であるプロセスを終了させる時には、以下のように実行してください。

diagnose sys kill 11 903

※FortiOS上で常に動作する必要があるデーモンプロセスは、終了されても自動的に再起動されます。

メモリの使用率が82%を下回るとコンサーブモードが解除されます。

コンサーブモードになっているかどうかについては、
CLIで以下のコマンドにて確認可能です。

-----------------------------------
diagnose hardware sysinfo conserve
-----------------------------------

本来は、コンサーブモードに入らないよう、適切に機種選定する必要があります。