【メモリリソース監視】

はじめに

メモリリソース表示エリア
メモリリソース表示エリア
SOCKET-MANAGER Framework の GUIランチャーでは、メモリリソースのリアルタイム監視機能も提供しています。
本記事では、物理メモリ・仮想メモリ・キャッシュの使用率を棒グラフで可視化し、使用率に応じて「通常」「warn」「alert」「critical」の状態を色分け表示する仕組みを紹介します。

また、閾値と通知メールの設定方法についても詳しく解説します。

色分け表示の特徴

  • 文字色や棒グラフの色はパーセンテージで制御されます。
  • 色の変化は、以下のように状態の深刻度を視覚的に伝えます。
状態 閾値 背景色 意味
通常 ~warn未満 緑系 安定稼働中
warn warn以上~alert未満 黄系 中程度の負荷(注意)
alert alert以上~critical未満 橙系 高負荷(警戒)
critical critical以上 赤系 過負荷(即対応推奨)


全体容量の表示

全体容量は以下のように「使用中/全容量」の形式で表示され、更新は一定間隔で自動反映されます。
全体容量の表示形式
また、文字色が以下のように変化し、状態の深刻度を視覚的に伝えます。
安定稼働状態
⇒ 通常(安定稼働中)
注意レベル状態
⇒ warn(注意レベル)
警戒レベル状態
⇒ alert(警戒レベル)
即対応推奨レベル状態
⇒ critical(即対応推奨レベル)

通知メールについて

  • 通知メールは 全体使用率が各閾値に到達した瞬間(上昇時)にのみ 発火します。
  • 具体的には、使用率が warn → alert → critical と上昇するタイミングで、それぞれ1回ずつ通知されます。
  • 使用率が下降して閾値を下回っても、通知は発生しません(通知の過剰発生を防ぐため)。
  • 通知内容には、発生時刻・稼働率・対象サーバーなどが含まれます。
この色分けと通知設計により、運用者は「視覚的な警告」と「明示的な通知」の両方を活用して、負荷状況に応じた対応を迅速に行うことができます。

以下はメール内容の例です。
過負荷通知メール(critical)


メールの件名や本文は以下のファイルで変更できます。
/**
 * 通知メール関連
 */
return [

    /**
     * criticalレベル
     */
    'MAIL_SUBJECT_CRITICAL' => '【サーバー通知(critical)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_CRITICAL' => '❌ :typeリソース使用率が閾値を超えました。即時対応が必要なレベルです::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp',

    /**
     * alertレベル
     */
    'MAIL_SUBJECT_ALERT' => '【サーバー通知(alert)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_ALERT' => '🚨 :typeリソース使用率が閾値を超えました。高負荷状態です::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp',

    /**
     * warnレベル
     */
    'MAIL_SUBJECT_WARN' => '【サーバー通知(warn)】:typeリソース使用率が閾値を超えました(:server)',
    'MAIL_BODY_WARN' => '⚠️ :typeリソース使用率が閾値を超えたため注意が必要です::usage%(閾値::threshold%)'."\r\n\r\n".'発生元サーバー::server'."\r\n".'発生日時::timestamp'
];
                    

プレースホルダの内訳
プレースホルダ 内容
:type CPU or メモリ or ディスク
:server サーバー名(<ホスト名>:<ポート番号>)
:usage 使用率(%)
:threshold 閾値(%)
:timestamp 発生日時

物理メモリの使用率表示

物理メモリの使用率は棒グラフで表示され、使用率に応じて「通常」「warn」「alert」「critical」の状態色が反映されます。

また、状態色が以下のように変化し、状態の深刻度を視覚的に伝えます。

安定稼働状態
⇒ 通常(安定稼働中)
注意レベル状態
⇒ warn(注意レベル)
警戒レベル状態
⇒ alert(警戒レベル)
即対応推奨レベル状態
⇒ critical(即対応推奨レベル)

仮想メモリの使用率表示

仮想メモリ領域を監視対象として扱い、スワップ領域を含めた棒グラフで使用率を表示します。

また、以下のように状態に応じて色分けされ、過剰な仮想メモリ使用を検知できます。

安定稼働状態
⇒ 通常(安定稼働中)
注意レベル状態
⇒ warn(注意レベル)
警戒レベル状態
⇒ alert(警戒レベル)
即対応推奨レベル状態
⇒ critical(即対応推奨レベル)

キャッシュメモリの使用率表示

キャッシュ領域を監視対象として扱い、棒グラフで使用率を表示します。

また、以下のように状態に応じて色分けされ、過剰なキャッシュ使用を検知できます。

安定稼働状態
⇒ 通常(安定稼働中)
注意レベル状態
⇒ warn(注意レベル)
警戒レベル状態
⇒ alert(警戒レベル)
即対応推奨レベル状態
⇒ critical(即対応推奨レベル)

閾値と通知の設定

GUIランチャーでは、メモリリソース監視に関する閾値と通知設定を、外部の設定ファイルによって柔軟に制御できます。
この設計により、運用者は環境やポリシーに応じて、負荷の検知タイミングや通知の発火条件を明示的に定義できます。
return [

    ・
    ・
    ・

    //--------------------------------------------------------------------------
    // GUIモード用
    //--------------------------------------------------------------------------

    // 各種リソース設定
    'resources' => [
        ・
        ・
        ・
        // メモリリソース
        'memory' => [

            // 警告レベルの設定
            'warn' => [ 'threshold' => 50, 'email' => null ],

            // アラートレベルの設定
            'alert' => [ 'threshold' => 75, 'email' => null ],

            // クリティカルレベルの設定
            'critical' => [ 'threshold' => 90, 'email' => null ]
        ],
        ・
        ・
        ・
    ]
];
                    

設定ファイルのキー対応表
状態 閾値設定のキー 通知メール設定のキー
warn resources.memory.warn.threshold resources.memory.warn.email
alert resources.memory.alert.threshold resources.memory.alert.email
critical resources.memory.critical.threshold resources.memory.critical.email
※ emailキーにnullを設定した項目は通知されません

また email キー内で以下のヘッダ情報を指定できます。

設定可能なEmailのヘッダ情報
キー 内容
to 宛先メールアドレス
from_address fromヘッダのアドレス(fromヘッダを指定する時は必須)
from_name fromヘッダの名前
reply_to replyヘッダのアドレス
※ 全キーにnullを設定すると通知されません。

おわりに

このランチャーはクロスプラットフォーム対応なので、Windows上のWSLなどの仮想環境内でもご利用いただけますが、その場合は他の監視ツールと同様に、仮想環境内のリソースのみが監視対象となりますのでご注意ください。
Windows全体のリソースを監視する場合は、PowerShellなどを使用し、Windowsホスト上でのご利用をおすすめします。