2026年5月26日
2026年5月26日
Glancesでシステムリソースを監視する方法:WordPressサーバーが重いときの原因の見分け方
Glances は、CPU・メモリ・ディスク・ネットワーク・プロセスを1つの画面にまとめて表示する、Python 製のシステム監視ツールです。WordPress のサイトが急に重くなったときに Glances を開くと、原因が CPU、メモリ不足、ディスクの読み書き、特定のプロセスのどれにあるかを短時間で絞り込めます。この記事では、インストールから画面の読み方、WordPress サーバーで注目する項目、閾値の設定、Web 画面の安全な使い方までを説明します。
Glances でできること・できないこと
Glances が得意なのは「今この瞬間」の状態を一覧することです。top や htop よりも表示項目が多く、負荷の高い項目が色で示されるため、どこから調べればよいかがすぐ分かります。
一方で、長期間のデータを保存して傾向を見るのは本来の用途ではありません。過去のグラフやアラートが必要なら、Prometheus や InfluxDB などの監視基盤と組み合わせます。Glances にも外部へデータを送る機能がありますが、まずは障害時の調査用ツールとして使い方を押さえておくと役に立ちます。
ステップ1:インストールする
ディストリビューションのパッケージで入れるのが最も手軽です。
# Ubuntu / Debian
sudo apt install glances
glances --version
ただし、ディストリビューションのパッケージは古いバージョンのことが多く、Web 画面や API の機能が新しい版と異なる場合があります。新しい版を使いたい場合は、システムの Python 環境を汚さないよう pipx で入れる方法が公式に案内されています。
sudo apt install pipx
pipx install glances
# Web 画面などの追加機能はエクストラ指定が必要な場合がある
# 指定方法は公式ドキュメントを確認する
Glances は 4 系が現行のメジャーバージョンで、3 系とは API のパスなど一部が異なります(2026年10月現在)。記事や手順を参考にするときは、どちらの版を前提にしているかを確認してください。
ステップ2:画面の読み方
glances と入力すると、ターミナル全体に監視画面が表示されます。終了は q です。上から順に、次の情報が並びます。
- CPU:user(アプリケーション)、system(カーネル)、iowait(ディスク待ち)、steal(仮想化基盤に奪われた時間)などの割合
- MEM と SWAP:メモリとスワップの使用率
- LOAD:1分・5分・15分のロードアベレージ。コア数と比べて読みます
- NETWORK と DISK I/O:インターフェースごとの送受信量、ディスクごとの読み書き量
- FILE SYS:ファイルシステムごとの使用率
- プロセス一覧:CPU やメモリを多く使っているプロセス
値の色は状態を表し、通常は緑が正常、青が注意、マゼンタが警告、赤が危険です。画面の下部には、警告や危険の状態になった項目の履歴が表示され、いつ何が起きたかを後から確認できます。
よく使うキー操作は次のとおりです。キーの割り当ては版によって変わることがあるため、h でヘルプを表示して確認してください。
c/m/i:プロセス一覧を CPU・メモリ・ディスク I/O の順で並べ替えるa:並べ替えを自動にする(負荷の種類に応じて切り替わる)1:CPU を全体表示とコアごとの表示で切り替えるENTER:プロセス名で絞り込む(php-fpm、mysqld など)
ステップ3:WordPress サーバーで注目する項目
サイトが重いときに、症状から原因を絞り込む見方です。可能性の高い順に並べています。
PHP-FPM のプロセスが CPU を使い切っている
プロセス一覧の上位に php-fpm が並び、CPU の user が高い状態です。アクセスの急増、ボットによる大量アクセス、重いプラグインの処理が考えられます。Web サーバーのアクセスログで同じ URL や同じ送信元からのリクエストが集中していないかを確認し、キャッシュの導入やボットの制限、重い処理を行うプラグインの見直しを検討します。
メモリが足りずスワップを使っている
MEM の使用率が高く、SWAP の使用量が増え続けている状態です。PHP-FPM のワーカー数(pm.max_children)が、1プロセスあたりのメモリに対して多すぎる場合によく起こります。プロセス一覧でメモリ順に並べ、php-fpm と mysqld がそれぞれどれだけ使っているかを確認し、ワーカー数や MySQL のバッファサイズを搭載メモリに見合う値に調整します。
iowait が高い
CPU の iowait が高く、DISK I/O の値が大きい状態は、ディスクの読み書きが詰まっていることを示します。データベースの重いクエリ、バックアップ処理、ログの大量書き込みが主な原因です。i でディスク I/O 順に並べ、どのプロセスが読み書きしているかを確認します。バックアップの実行時刻とずらす、遅いクエリを特定するといった対処につながります。
steal が高い
VPS で CPU の steal が継続して高い場合、同じ物理サーバーの他の利用者の影響など、サーバー内からは解決できない原因の可能性があります。サーバー内の設定を変えても改善しない場合は、事業者への問い合わせやプランの変更を検討する材料になります。
ディスクの空き容量が少ない
FILE SYS の使用率が高い状態です。ディスクが埋まると、MySQL が書き込めずにサイトがエラーになることがあります。ログファイル、古いバックアップ、キャッシュのファイルが溜まっていないかを確認し、ログのローテーションを設定します。
ステップ4:閾値を自分の環境に合わせる
色が変わる閾値は設定ファイルで変更できます。Linux では、ユーザーごとの ~/.config/glances/glances.conf や、システム全体の /etc/glances/glances.conf が読み込まれます。読み込まれる場所や項目名は版によって異なるため、配布物に含まれる設定ファイルの例をコピーして編集すると誤りが少なくなります。
# ~/.config/glances/glances.conf の例
[cpu]
user_careful=50
user_warning=70
user_critical=90
[mem]
careful=60
warning=75
critical=90
[fs]
careful=70
warning=80
critical=90
ディスクの容量は、危険の色になってから対処するのでは遅いことがあるため、早めに注意が出る値にしておくと安心です。
ステップ5:Web 画面と API を安全に使う
glances -w で起動すると、ブラウザで同じ画面を見られる Web サーバーモードになり、既定ではポート 61208 で待ち受けます。同時に REST API も提供されるため、ほかのツールから値を取得することもできます。
この画面にはプロセス名やコマンドライン引数など、サーバーの内部情報が表示されます。インターネットに公開せず、ローカルだけで待ち受けて SSH のトンネル経由で見るのが安全です。
# サーバー側:ローカルアドレスだけで待ち受ける
glances -w -B 127.0.0.1
# 手元の PC 側:SSH トンネルを張ってから
# ブラウザで http://localhost:61208/ を開く
ssh -L 61208:127.0.0.1:61208 user@example.com
どうしても外部から見る必要がある場合は、--password でパスワードを設定し、ファイアウォールで接続元の IP を限定し、HTTPS のリバースプロキシを前に置きます。
画面を使わずに特定の値だけを確認したいときは、標準出力モードが便利です。スクリプトやログへの記録に使えます。
# CPU 使用率・メモリ使用率・ロードアベレージを5秒ごとに表示
glances --stdout cpu.user,mem.percent,load -t 5
ステップ6:長期の監視とつなぐ
Glances には、InfluxDB や Prometheus、CSV などにデータを送るエクスポート機能があります。たとえば glances --export csv --export-csv-file /tmp/glances.csv で値を CSV に記録できます。送信先ごとの設定は glances.conf の対応するセクションに書きます。
ただし、常時の監視とアラートには、node_exporter と Prometheus のように常駐とデータ保存を前提とした仕組みのほうが向いています。Glances は「アラートが来たときにサーバーに入って原因を見る道具」と位置づけ、両方を使い分けるのが現実的です。
まとめ
- Glances は CPU・メモリ・ディスク・ネットワーク・プロセスを1画面で見られ、負荷の高い項目が色で分かります
- サイトが重いときは、php-fpm の CPU、メモリとスワップ、iowait、steal、ディスク容量の順に確認すると原因を絞りやすくなります
- 閾値は glances.conf で環境に合わせ、ディスク容量は早めに注意が出る値にします
- Web 画面と API はローカルで待ち受け、SSH トンネル経由で使います
- 長期の記録とアラートは Prometheus などに任せ、Glances は調査用として使い分けます