Linuxサーバー管理

サーバーのリソース監視【CPU・メモリ・ディスク・ネットワーク完全ガイド】

Linuxサーバー管理
記事内に広告が含まれています。

本番サーバーの安定運用には定期的なリソース監視が欠かせません。この記事ではCPU・メモリ・ディスク・ネットワークを監視するコマンドと、継続的な監視の仕組みを解説します。

CPU・メモリの監視

# vmstat:システム全体の統計を定期表示(1秒ごとに5回)
$ vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1204512 186240 3528960    0    0     1     8   72  134  5  1 93  0  0

# 列の意味
# r: 実行待ちプロセス数(CPUコア数超えると過負荷)
# b: IOブロック中プロセス数
# wa: IO待ち時間(高い場合はディスクがボトルネック)
# us/sy: ユーザー/カーネル空間のCPU使用率

# sar:過去のリソース履歴を確認
$ sudo apt install sysstat
$ sar -u 1 5   # CPU使用率を1秒ごとに5回
$ sar -r 1 5   # メモリ使用状況
$ sar -d 1 5   # ディスクI/O

# sar で過去のログを確認
$ sar -u -f /var/log/sysstat/sa$(date +%d)

ディスクI/Oの監視

# iostat:ディスクI/O統計
$ iostat -x 1 5

# 主要な列
# r/s, w/s: 1秒あたりの読み書きリクエスト数
# await: I/O待ち時間(ミリ秒)。高い場合はディスクが遅い
# %util: ディスクの使用率(100%に近いとボトルネック)

# iozone:ディスクのベンチマーク
$ sudo apt install iozone3

ネットワークの監視

# ネットワーク統計
$ netstat -s         # プロトコル別の統計
$ ss -s              # ソケット統計の概要

# iftop:リアルタイムのネットワーク帯域使用量
$ sudo apt install iftop
$ sudo iftop -i eth0

# nethogs:プロセスごとのネットワーク使用量
$ sudo apt install nethogs
$ sudo nethogs eth0

# nload:シンプルなネットワーク使用量モニター
$ sudo apt install nload
$ nload eth0

定期監視の仕組み:sarとcronの組み合わせ

# sysstat を有効化(Ubuntuの場合)
$ sudo systemctl enable sysstat
$ sudo systemctl start sysstat

# /etc/default/sysstat
ENABLED="true"

# sarは/etc/cron.d/sysstatで自動収集される
# デフォルトは10分ごとにデータを収集
# 収集データは/var/log/sysstat/sa[日付] に保存

# 過去1日のCPU使用率を確認
$ sar -u

# 過去7日分のデータをCSVで出力
$ sar -u -s 00:00:00 -e 23:59:59 -f /var/log/sysstat/sa15

まとめ

  • vmstat 1 でCPU・メモリ・IO待ちをリアルタイム確認。r列とwa列が重要
  • iostat -x でディスクI/Oのボトルネックを特定。%utilが100%なら飽和状態
  • sysstat をインストールして sar で過去のリソース履歴を分析
  • iftop/nethogs でネットワーク帯域を食っているプロセスを特定

📋 Linuxサーバー運用・管理チェックリスト完全版でPhase 2の全要点を確認できます。

コメント

タイトルとURLをコピーしました