2026年6月28日
2026年6月28日
サーバーのCPU使用率を監視する方法
はじめに
サーバーのCPU使用率を適切に監視することで、システムのパフォーマンスを確認し、不具合や過負荷を早期発見することができます。この記事では、基本的なコマンドから応用方法まで詳しく解説します。
症状・背景
- サーバーの応答性が低下したとき
- 重要なサービスが停止したり遅延するとき
- システムリソースの使用状況を定期的に把握したいとき
手順・設定方法
ステップ1: topコマンドで基本的なCPU使用率を確認
# topコマンドを起動し、実行中のプロセスとその使用状況を表示
top -b -n 1 > /tmp/cpu_usage.txt
ステップ2: htopコマンドを使用してより詳細な情報を取得
# htopコマンドをインストール (apt-getでUbuntu, yumでCentOS)
sudo apt-get install htop
htop
ステップ3: Monitを使って自動監視と通知設定
# Monitのインストール (apt-getでUbuntu, yumでCentOS)
sudo apt-get install monit
# Monitの基本設定ファイルを編集
sudo nano /etc/monitrc
# 例:プロセスCPU使用率が90%を超える場合に警告メールを送信する設定
check process apache with pidfile /var/run/apache2/apache2.pid
if cpu usage > 90% for 5 cycles then alert
ステップ4: 実践/トラブルシュート/監視
# Monitの状態を確認
sudo monit status
# CPU使用率が異常なときの対処法
if [ $(top -b -n 1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}') -gt 85 ] then
echo "CPU usage is high, check logs and services"
fi
注意事項
- topコマンドはリアルタイムで使用状況を表示するが、大量のデータを出力するため、定期的に実行すると負荷がかかります。
- htopはより直感的なユーザーインターフェースで、CPU利用率だけでなくメモリやディスクの利用状況も確認できます。
- Monitを使用する際は、監視対象と通知先を適切に設定すること。
まとめ
1. topコマンド: システム全体の実行中のプロセスとその使用状況を一覧表示します。
2. htopコマンド: topコマンドよりインターフェースが直感的で、詳細情報を得られます。
3. Monit: 自動監視と通知機能を持つため、重要なシステムの状態を常に把握できます。
4. 定期的なチェック: 定期的にCPU使用率を確認し、異常な状況を早期に発見します。
5. セキュリティ上の注意: 任意のユーザーがMonitの設定を見たり変更したりするリスクがありますので、適切なアクセス制御を行いましょう。
関連記事: