htopによるLinuxシステムリソースモニタリング

htopによるLinuxシステムリソースモニタリング

🎯 概要

htopは、LinuxシステムのCPU、メモリ、プロセス状態をリアルタイムでモニタリングする強力なツールです。基本的なtopコマンドよりも直感的で詳細な情報を提供します。

すぐに使えるコマンド

# htop実行(最も基本的な使用法)
htop

# 特定ユーザーのプロセスのみ表示
htop -u username

# 特定PIDをハイライトして実行
htop -p 1234,5678

# ツリービューでプロセス階層構造を表示
htop -t

クイックインストール方法

# Ubuntu/Debian
sudo apt update && sudo apt install htop

# CentOS/RHEL/Rocky Linux
sudo yum install epel-release -y && sudo yum install htop -y

# Fedora
sudo dnf install htop

# Arch Linux
sudo pacman -S htop

重要なショートカットキー(htop実行中)

  • F9またはk:プロセス終了
  • F6または>:ソート基準変更
  • F4または\:プロセスフィルタリング
  • Space:プロセスタグ/タグ解除
  • t:ツリービュー切り替え

📚 詳細説明

背景と必要性

Linuxシステムを管理していると、システムリソースの使用量をリアルタイムで確認する必要がある状況が頻繁に発生します。従来のtopコマンドも有用ですが、htopは以下のような利点を提供します:

  • カラフルなインターフェース:情報を視覚的に区別しやすい
  • マウスサポート:クリックでプロセス選択・操作が可能
  • 水平スクロール:長いコマンドも完全に表示可能
  • ツリービュー:プロセス間の親子関係を把握しやすい

詳細インストールガイド

Ubuntu/Debian系

# パッケージリスト更新
sudo apt update

# htopインストール
sudo apt install htop

# インストール確認
htop --version

CentOS/RHEL/Rocky Linux系

# EPELリポジトリ有効化(htopはEPELに含まれる)
sudo yum install epel-release -y

# システム更新
sudo yum update -y

# htopインストール
sudo yum install htop -y

Fedora

# htopインストール
sudo dnf install htop

htopインターフェースの解釈

htopを実行すると、以下の情報を確認できます:

上部システム情報パネル

CPU Usage: [||||||||||||||||                    45.2%]
Memory:    [|||||||||||||||||||||               67.8%/7.7G]
Swap:      [                                     0K/2.0G]
  • CPUバー:各CPUコア別使用率(色で区別)
  • Memoryバー:物理メモリ使用量
  • Swapバー:スワップメモリ使用量

プロセスリストカラムの意味

PID    USER     PRI  NI  VIRT   RES   SHR S  CPU%  MEM%   TIME+  Command
1234   apache    20   0  180M   45M   12M S   5.2   0.6   1:23.45 httpd
  • PID:プロセスID
  • USER:プロセス所有者
  • PRI/NI:優先度/Nice値
  • VIRT:仮想メモリ使用量
  • RES:実際のメモリ使用量
  • SHR:共有メモリ
  • S:プロセス状態(S:スリープ中、R:実行中など)

実際の活用事例

1. メモリリーク検出

# メモリ使用量でソートして実行
htop

# htop内でF6キーを押してPERCENT_MEMでソート
# メモリ使用量の高いプロセスから表示される

2. CPU集約的プロセスの発見

# htop実行後、デフォルトでCPU使用率でソートされる
# F6でPERCENT_CPUソートを確認
htop

3. 特定ユーザーのプロセスのみモニタリング

# Webサーバーユーザー(apache/nginx)のプロセスのみ確認
htop -u apache

# またはhtop実行後にF4キーを押してフィルタリング

4. システム負荷原因分析

# ツリービューでプロセス階層構造を確認
htop -t

# 親プロセスと子プロセスの関係を把握
# どのサービスが多くの子プロセスを生成しているかを確認可能

有用な高度な使用法

設定ファイルのカスタマイズ

htopの設定は~/.config/htop/htoprcファイルに保存されます:

# 設定ファイルの場所を確認
ls -la ~/.config/htop/

# 設定のバックアップ
cp ~/.config/htop/htoprc ~/.config/htop/htoprc.backup

バッチモードでのログ収集

# 5秒ごとにシステム状態をファイルに保存
htop -d 50 > system_monitor.log 2>&1 &

# またはwatchコマンドとの組み合わせ
watch -n 5 'htop -b -n 1 | head -20'

トラブルシューティングとエラー処理

htopインストール失敗時

# Ubuntuでパッケージが見つからない場合
sudo apt update
sudo apt upgrade
sudo apt install htop

# CentOSでEPELリポジトリ問題時
sudo yum clean all
sudo yum install epel-release -y
sudo yum makecache
sudo yum install htop

権限関連問題

# すべてのプロセスを見るにはroot権限が必要
sudo htop

# 一般ユーザーは自分のプロセスのみ操作可能

結論

htopは、Linuxシステム管理者と開発者にとって必須のツールです。基本的なtopコマンドよりもはるかに直感的で強力な機能を提供し、システムリソースモニタリングとパフォーマンス分析を効率的に実行できます。

核心的な洞察:

  • htopはWindowsタスクマネージャーと類似した直感的インターフェースを提供
  • リアルタイムモニタリングによるパフォーマンスボトルネックの迅速な特定が可能
  • マウスとキーボードショートカットを活用した効率的なプロセス管理

次のステップ:

  • iotopでディスクI/Oモニタリングを学習
  • nethogsでネットワーク使用量分析
  • システムモニタリングスクリプトの作成と自動化

htopをマスターして、Linuxシステムのパフォーマンスを完全に把握し最適化しましょう!