LinuxでCPU使用率やメモリ使用量をリアルタイムで確認したいなら、まず思い浮かぶのがtopコマンドです。
ただ、「文字が多くて見づらい」「操作方法が分かりにくい」と感じた人も多いのではないでしょうか。
そんなときに便利なのがhtopコマンドです。
htopは、CPU・メモリ・スワップ・プロセス一覧をカラー表示で分かりやすく確認できる監視ツールです。カーソルキーやファンクションキーで直感的に操作できるため、Linux初心者にも人気があります。
この記事では、Linux初心者向けにhtopコマンドの基本的な使い方、インストール方法、画面の見方、よく使う操作方法、topコマンドとの違いまで詳しく解説します。
- htopコマンドとは
- htopのインストール方法
- htopコマンドの基本構文
- htop画面の見方
- CPU使用率の見方
- メモリ・スワップの見方
- プロセス一覧の見方
- CPU使用率順に並び替える方法
- メモリ使用率順に並び替える方法
- プロセスを検索する方法
- プロセスを終了する方法
- プロセスの優先度を変更する方法
- ツリー表示にする方法
- よく使うファンクションキー一覧
- htopを終了する方法
- htopで特定のユーザーのプロセスだけ表示する方法
- 特定のPIDだけを監視する方法
- htopの更新間隔を変更する方法
- htopを白黒表示する方法
- スレッドを表示・非表示にする方法
- プロセス名で絞り込む方法
- 並び順を素早く切り替える方法
- htopでプロセスを終了するときの注意点
- htopでnice値を変更する方法
- htopの設定画面を開く方法
- htopとtopコマンドの違い
- htop・ps・topの使い分け
- サーバーが重いときのhtopの確認手順
- CPU使用率が100%でも異常とは限らない
- htopでメモリ使用量が多く見える理由
- htopが見つからない場合の対処法
- ファンクションキーが反応しない場合の対処法
- htopで表示されるCPU使用率が100%を超える理由
- htopの主なオプション一覧
- 操作ミスを防ぐなら読み取り専用で起動する
- htopだけで障害原因を断定しない
- よくある質問
- まとめ
htopコマンドとは
htopは、LinuxでCPU・メモリ・プロセスをリアルタイムで監視するためのコマンドです。
標準搭載されていることが多いtopコマンドを、より見やすく・操作しやすくしたツールと考えると分かりやすいでしょう。
例えば次のようなことができます。
- CPU使用率をグラフで確認
- メモリ・スワップ使用量をグラフ表示
- CPU使用率順・メモリ使用率順に並び替え
- プロセス検索
- プロセス終了
- nice値変更
- マウス操作(一部環境)
サーバーが重い原因を調べるときに非常によく使われます。
htopのインストール方法
環境によっては標準インストールされていないため、最初にインストールします。
Ubuntu・Debian
sudo apt update
sudo apt install htop
CentOS Stream・Rocky Linux・AlmaLinux
sudo dnf install htop
インストール確認
htop --version
htopコマンドの基本構文
htop [オプション]
通常はオプションなしで起動します。
htop
htop画面の見方
起動すると、大きく次の3つのエリアに分かれています。
- CPU・メモリ使用率
- システム情報
- プロセス一覧
一番上にはCPU使用率がバー表示されます。
CPUコアが複数ある場合は、コアごとに表示されるため、どのCPUが忙しいか一目で分かります。
CPU使用率の見方
CPUバーでは現在のCPU使用率をリアルタイム表示します。
色によって使用状況も分かります。
| 色 | 意味(代表例) |
|---|---|
| 緑 | ユーザー処理 |
| 赤 | システム処理 |
| 青 | 低優先度処理 |
| 橙 | I/O待ちなど |
ディストリビューションやテーマによって多少色が異なる場合があります。
メモリ・スワップの見方
CPUバーの下にはメモリ使用率が表示されます。
物理メモリだけでなく、スワップ使用量もグラフで確認できます。
メモリ不足かどうかを確認したい場合は、前回紹介したfree -hも併用すると分かりやすいです。
free -h
プロセス一覧の見方
画面下には実行中プロセスが一覧表示されます。
| 列 | 意味 |
|---|---|
| PID | プロセスID |
| USER | 実行ユーザー |
| %CPU | CPU使用率 |
| %MEM | メモリ使用率 |
| TIME+ | 累積CPU時間 |
| Command | 実行コマンド |
初心者はまず%CPUと%MEMを見るだけでも十分です。
CPU使用率順に並び替える方法
画面上部メニューから並び替えできますが、一番簡単なのはF6です。
F6
Sort byで%CPUを選択するとCPU使用率順になります。
メモリ使用率順に並び替える方法
同じくF6から%MEMを選択します。
メモリリークや大量消費しているプロセスを探すときによく使います。
プロセスを検索する方法
プロセス数が多い場合は検索が便利です。
F3
例えば
mysql
と入力するとMySQL関連プロセスだけ探せます。
プロセスを終了する方法
終了したいプロセスをカーソルで選択します。
その後
F9
を押します。
SIGTERM(15)が標準なので、まずはこちらを使用しましょう。
どうしても終了しない場合のみSIGKILL(9)を使用します。
いきなり9を使うのは避けるのがおすすめです。
プロセスの優先度を変更する方法
優先度(nice値)はF7・F8で変更できます。
- F7:優先度を上げる
- F8:優先度を下げる
root権限が必要になる場合があります。
ツリー表示にする方法
親子関係を見たい場合はツリー表示が便利です。
F5
Apache・PHP・MySQLなどの関係も分かりやすくなります。
よく使うファンクションキー一覧
| キー | 内容 |
|---|---|
| F2 | 設定 |
| F3 | 検索 |
| F4 | フィルター |
| F5 | ツリー表示 |
| F6 | 並び替え |
| F7 | nice値を上げる |
| F8 | nice値を下げる |
| F9 | プロセス終了 |
| F10 | 終了 |
htopを終了する方法
htopを終了するときは、キーボードのqを押します。
q
画面下部に表示されているF10 Quitを使っても終了できます。
ファンクションキーが使いにくいノートパソコンやターミナルでは、qを覚えておくと簡単です。
htopで特定のユーザーのプロセスだけ表示する方法
複数のユーザーが利用するサーバーでは、自分や特定ユーザーのプロセスだけを確認したいことがあります。
htopの起動時に-uオプションを付けると、指定したユーザーのプロセスだけを表示できます。
htop -u ユーザー名
例えば、rootユーザーのプロセスだけを表示する場合は次のように実行します。
htop -u root
現在ログインしているユーザーのプロセスだけを確認したい場合は、次のようにも指定できます。
htop -u "$USER"
大量のプロセスから対象を絞り込みたいときに便利です。
特定のPIDだけを監視する方法
-pオプションを使うと、指定したPIDだけを表示できます。
htop -p PID
PIDが1234のプロセスを監視する場合は、次のように実行します。
htop -p 1234
複数のPIDを指定する場合は、カンマ区切りで指定できます。
htop -p 1234,5678
アプリケーションの動作確認や、特定のプロセスだけ継続的に監視したい場合に役立ちます。
htopの更新間隔を変更する方法
htopは、一定間隔で画面を更新します。
-dオプションを使うと、更新間隔を10分の1秒単位で指定できます。
htop -d 数値
例えば、2秒ごとに更新する場合は20を指定します。
htop -d 20
画面の更新が速すぎて見づらい場合や、監視による負荷を少し抑えたい場合に使えます。
htopを白黒表示する方法
色が見づらいターミナルでは、-Cオプションを使うと白黒表示にできます。
htop -C
--no-colorでも同じようにカラー表示を無効化できます。
htop --no-color
ターミナルの配色によって文字が読みにくい場合に試してみてください。
スレッドを表示・非表示にする方法
htopでは、プロセスだけでなく、その内部で動作しているスレッドも表示できます。
ユーザーランドスレッドの表示・非表示は、Hキーで切り替えられます。
H
カーネルスレッドの表示・非表示は、Kキーで切り替えられます。
K
プロセス数が多く見づらいときは、不要なスレッドを非表示にすると確認しやすくなります。
プロセス名で絞り込む方法
F4キーを押すと、入力した文字列に一致するプロセスだけを表示できます。
F4
例えば、Apache関連のプロセスを確認したい場合は、環境に応じて次のような文字列を入力します。
httpd
UbuntuやDebian系であれば、次のように入力することもあります。
apache2
F3の検索は一致するプロセスへ移動する機能、F4のフィルターは一致したプロセスだけを残す機能です。
並び順を素早く切り替える方法
F6から項目を選ぶ以外にも、キー操作で並び順を変更できます。
| キー | 並び替える項目 |
|---|---|
| P | CPU使用率 |
| M | メモリ使用率 |
| T | 累積CPU時間 |
サーバーが急に重くなった場合は、まずPを押してCPU使用率順に並び替えると原因を探しやすくなります。
メモリ不足が疑われる場合は、Mを押してメモリ使用率順に並び替えます。
htopでプロセスを終了するときの注意点
F9を押すと、選択したプロセスへシグナルを送信できます。
通常は、まずSIGTERMを選択します。
SIGTERM 15
SIGTERMは、プロセスへ正常終了を依頼するシグナルです。アプリケーション側が終了処理を行えるため、設定やデータを保存してから停止できる可能性があります。
それでも終了しない場合に限り、SIGKILLを検討します。
SIGKILL 9
SIGKILLはプロセスを強制終了します。プロセス側は終了処理を実行できないため、編集中データの消失やファイル破損につながる可能性があります。
特にデータベースや重要なサービスを、プロセスの役割を確認せずに終了するのは避けてください。
htopでnice値を変更する方法
htopでは、選択したプロセスのnice値を変更できます。
nice値は、CPUの実行優先度を調整するための値です。一般的には、値が小さいほど優先度が高く、値が大きいほど優先度が低くなります。
| キー | 動作 |
|---|---|
| F7 | nice値を小さくして、優先度を上げる |
| F8 | nice値を大きくして、優先度を下げる |
一般ユーザーは、自分のプロセスの優先度を下げる操作はできますが、優先度を上げる操作にはroot権限が必要になることがあります。
nice値を変更してもCPU使用率そのものを直接制限できるわけではありません。複数のプロセスがCPUを取り合う状況で、どのプロセスを優先するかを調整する機能です。
htopの設定画面を開く方法
F2を押すと、htopの設定画面を開けます。
F2
設定画面では、主に次の項目を変更できます。
- CPUメーターの表示形式
- メモリメーターの配置
- 表示する列
- 色のテーマ
- ツリー表示の設定
- カーネルスレッドの表示設定
- 画面上部へ表示する情報
例えば、プロセスの開始時刻やディスク読み書き量などを確認したい場合は、表示列を追加できます。
設定内容は通常、ユーザーごとの設定ファイルへ保存され、次回起動時にも反映されます。
htopとtopコマンドの違い
htopとtopは、どちらもLinuxのプロセスやCPU使用率をリアルタイムで確認するためのコマンドです。
主な違いは次のとおりです。
| 比較項目 | htop | top |
|---|---|---|
| 標準搭載 | 別途インストールが必要な場合が多い | 多くのLinux環境で利用できる |
| 画面表示 | カラーで見やすい | 文字中心の表示 |
| 画面のスクロール | 上下左右へ移動しやすい | htopより操作が限定的 |
| プロセス選択 | カーソルで選択できる | PIDなどを入力して操作することが多い |
| マウス操作 | 対応する環境がある | 基本的にキーボード操作 |
| 最小構成のサーバー | インストールされていない場合がある | 利用できる可能性が高い |
普段の監視では、画面が見やすく操作しやすいhtopが便利です。
一方、障害対応で入った最小構成のサーバーや、追加パッケージをインストールできない環境ではtopが役立ちます。
どちらか一方だけではなく、両方の基本操作を覚えておくと安心です。
htop・ps・topの使い分け
プロセスを確認するコマンドには、htop以外にもtopやpsがあります。
| コマンド | 向いている用途 |
|---|---|
| htop | プロセスを見ながらリアルタイムに調査・操作する |
| top | 追加インストールなしでリアルタイム監視する |
| ps | 特定時点のプロセス情報をコマンド結果として取得する |
人が画面を見ながら原因を探すならhtop、ほぼすべての環境で確認したいならtop、シェルスクリプトやログへ結果を残したいならpsという使い分けができます。
サーバーが重いときのhtopの確認手順
サーバーが重くなったときに、何を見ればよいのか分からなくなることがあります。
そんなときは、次の順番で確認すると原因を整理しやすくなります。
1.CPU使用率を確認する
まず、画面上部のCPUバーを確認します。
一部のCPUコアだけが高負荷なのか、すべてのCPUコアが高負荷なのかを見ます。
次にPを押して、CPU使用率順に並び替えます。
P
%CPUが高いプロセスのPID、ユーザー名、コマンド名を確認してください。
2.メモリ使用量を確認する
続いて画面上部のメモリバーとスワップを確認します。
Mを押すと、メモリ使用率順に並び替えられます。
M
ただし、Linuxでは空きメモリをキャッシュとして活用します。メモリバーが埋まっているように見えるだけで、すぐにメモリ不足とは限りません。
より詳しく確認する場合は、別のターミナルで次のコマンドも実行します。
free -h
availableの値やスワップの使用状況も含めて判断しましょう。
3.ロードアベレージを確認する
htopの画面上部には、ロードアベレージが表示されます。
ロードアベレージは、CPUを使用している処理やCPUの実行を待っている処理など、システムの負荷を表す目安です。
一般的には、CPUの論理コア数と比較して確認します。ただし、I/O待ちの影響を受けることもあるため、ロードアベレージだけで原因を断定してはいけません。
4.プロセスの状態を確認する
CPU使用率が高いプロセスだけでなく、プロセスの状態も確認します。
| 状態 | 主な意味 |
|---|---|
| R | 実行中または実行可能 |
| S | 割り込み可能な待機状態 |
| D | 割り込みできない待機状態 |
| T | 停止中またはトレース中 |
| Z | ゾンビプロセス |
D状態のプロセスが多数ある場合は、ディスクやネットワークストレージなどのI/O待ちが発生している可能性があります。
Z状態は処理が終了しているものの、親プロセスが終了状態を回収できていないゾンビプロセスです。ゾンビプロセス自体を強制終了して解決するとは限らないため、親プロセスの確認が必要です。
5.プロセスを終了する前に正体を確認する
負荷の高いプロセスを見つけても、すぐに終了させるのは危険です。
まず、次の項目を確認してください。
- どのユーザーが実行しているか
- どのサービスに関係するか
- 一時的に負荷が上がっているだけではないか
- 停止するとWebサイトやデータベースへ影響しないか
- systemdにより自動的に再起動されないか
サービスとして動いているプロセスであれば、直接killするよりもsystemctlで停止・再起動したほうが安全な場合があります。
sudo systemctl status サービス名
sudo systemctl restart サービス名
CPU使用率が100%でも異常とは限らない
htopでCPU使用率が100%になっていると、すぐに障害だと思ってしまうかもしれません。
しかし、バックアップ、圧縮、動画変換、コンパイル、バッチ処理などがCPUを効率よく使っている場合、100%でも正常なことがあります。
重要なのは、CPU使用率だけでなく次の点を合わせて確認することです。
- 処理内容が想定したものか
- 高負荷が長時間続いているか
- Webサイトやアプリケーションが遅くなっているか
- ロードアベレージが上がり続けていないか
- メモリやスワップも不足していないか
「CPU使用率が高い=異常」と決めつけず、プロセスの内容と実際の影響から判断しましょう。
htopでメモリ使用量が多く見える理由
Linuxは、使用していないメモリをディスクキャッシュとして積極的に利用します。
そのため、htopのメモリバーが大きく使われていても、アプリケーションが使えるメモリまで完全に不足しているとは限りません。
メモリ不足かどうかを判断するときは、次の項目を確認します。
free -hのavailable- スワップの使用量
- スワップ使用量が継続的に増えていないか
- OOM Killerが動作していないか
- 特定プロセスのメモリ使用量が増え続けていないか
OOM Killerの記録は、環境に応じて次のように確認できます。
journalctl -k | grep -i -E 'out of memory|killed process'
または、次のコマンドを使用します。
dmesg | grep -i -E 'out of memory|killed process'
権限やログの保存状態によっては、結果を確認できない場合があります。
htopが見つからない場合の対処法
htopを実行して、次のようなエラーが表示されることがあります。
htop: command not found
これは、基本的にhtopがインストールされていないか、実行ファイルへのパスが通っていないことを表します。
Ubuntu・Debian系では次のコマンドでインストールします。
sudo apt update
sudo apt install htop
CentOS Stream・Rocky Linux・AlmaLinuxなどでは、次のコマンドを試します。
sudo dnf install htop
パッケージが見つからない場合は、利用中のディストリビューション、バージョン、有効なリポジトリを確認してください。
インストール後は、次のコマンドで実行ファイルの場所を確認できます。
command -v htop
正常に認識されていれば、次のようなパスが表示されます。
/usr/bin/htop
ファンクションキーが反応しない場合の対処法
ノートパソコンや一部のターミナルでは、F2やF10などがOS側の機能に割り当てられていることがあります。
その場合は、Fnキーを押しながら操作してみてください。
Fn + F6
また、htopではファンクションキー以外にも、次のような操作ができます。
| キー | 内容 |
|---|---|
| q | htopを終了 |
| P | CPU使用率順に並び替え |
| M | メモリ使用率順に並び替え |
| T | 累積CPU時間順に並び替え |
| H | ユーザーランドスレッドの表示切り替え |
| K | カーネルスレッドの表示切り替え |
SSH接続先でキーが正しく伝わらない場合は、使用しているターミナルソフトのファンクションキー設定も確認しましょう。
htopで表示されるCPU使用率が100%を超える理由
マルチコアCPUの環境では、プロセスのCPU使用率が100%を超えて表示されることがあります。
これは必ずしも表示の異常ではありません。
htopの設定や表示方式によっては、CPUコア1個を100%として計算します。例えば、1つのプロセスがCPUコア2個をフルに利用していれば、約200%と表示されることがあります。
CPUが4コアなら、理論上はプロセスが複数コアを利用して400%近く表示されることもあります。
使用可能なCPU数は、次のコマンドで確認できます。
nproc
CPUの詳細は、次のコマンドでも確認できます。
lscpu
CPU使用率を見るときは、100%を超えたという数字だけではなく、搭載されている論理CPU数も合わせて確認してください。
htopの主なオプション一覧
| オプション | 内容 |
|---|---|
-d 数値 |
画面の更新間隔を10分の1秒単位で指定する |
-u ユーザー名 |
指定したユーザーのプロセスだけを表示する |
-p PID |
指定したPIDだけを表示する |
-C |
カラー表示を無効化する |
-t |
ツリー表示で起動する |
-s 列名 |
指定した列で並び替えて起動する |
--readonly |
プロセスへ影響する操作を無効化する |
--help |
ヘルプを表示する |
--version |
バージョンを表示する |
利用できるオプションは、インストールされているhtopのバージョンによって異なる場合があります。
現在の環境で利用できるオプションは、次のコマンドで確認してください。
htop --help
操作ミスを防ぐなら読み取り専用で起動する
本番サーバーでプロセスを確認するだけなら、読み取り専用モードで起動する方法もあります。
htop --readonly
読み取り専用モードでは、プロセスの終了や優先度変更など、プロセスへ影響を与える操作が制限されます。
「確認だけするつもりだったのに、誤ってプロセスを終了してしまった」という事故を避けたい場合に有効です。
特に本番環境へ入りたてのときや、重要なサービスが動作しているサーバーでは、読み取り専用モードを活用すると安心です。
htopだけで障害原因を断定しない
htopは、現在のCPU・メモリ・プロセスの状態を確認するには非常に便利です。
ただし、htopだけでサーバーが重い原因をすべて特定できるわけではありません。
状況に応じて、次のコマンドも組み合わせます。
| 確認したい内容 | 主なコマンド |
|---|---|
| メモリ全体の状態 | free -h |
| CPU・メモリ・プロセスの推移 | vmstat |
| ディスクI/O | iostat |
| ディスク容量 | df -h |
| ディレクトリごとの使用量 | du |
| サービスの状態 | systemctl status |
| システムログ | journalctl |
| ネットワーク接続 | ss |
例えば、CPU使用率は低いのにロードアベレージが高い場合は、ディスクI/O待ちやネットワークストレージの遅延が関係している可能性があります。
htopを入口として使い、必要に応じて別のコマンドで詳しく調べるのが実践的です。
よくある質問
htopはLinuxへ最初からインストールされていますか?
必ずしもインストールされているわけではありません。
topは多くのLinux環境で標準利用できますが、htopは別途インストールが必要な場合があります。
htop: command not foundと表示された場合は、利用しているディストリビューションに合わせてインストールしてください。
htopを終了するにはどうすればよいですか?
qキーまたはF10キーで終了できます。
q
ファンクションキーが反応しない環境では、qキーを使うのが簡単です。
htopでCPU使用率順に並び替えるにはどうすればよいですか?
Pキーを押すと、CPU使用率順に並び替えられます。
P
F6を押して、並び替え項目からPERCENT_CPUなどのCPU使用率に該当する列を選ぶ方法もあります。
htopでメモリ使用率順に並び替えるにはどうすればよいですか?
Mキーを押すと、メモリ使用率順に並び替えられます。
M
メモリを大量に消費しているプロセスを探すときに便利です。
htopからプロセスを終了しても大丈夫ですか?
終了して問題ないプロセスだと確認できている場合に限って実行してください。
まずはSIGTERMを送り、正常終了を試します。応答しない場合のみ、影響を理解したうえでSIGKILLを検討します。
データベースやWebサーバーなどのサービスは、直接終了するよりsystemctlで停止・再起動したほうがよい場合があります。
CPU使用率が100%を超えているのは異常ですか?
マルチコアCPUでは、CPUコア1個を100%として表示する設定があるため、100%を超える場合があります。
例えば、2つのCPUコアをほぼ完全に使っているプロセスは、約200%と表示されることがあります。
nprocやlscpuでCPU数を確認してから判断してください。
メモリバーが埋まっていたらメモリ不足ですか?
必ずしもメモリ不足ではありません。
Linuxは空いているメモリをキャッシュとして利用します。free -hのavailableやスワップ使用量も合わせて確認してください。
htopとtopはどちらを使えばよいですか?
普段の手動監視では、見やすく操作しやすいhtopがおすすめです。
一方、追加パッケージをインストールできない環境や、最小構成のサーバーではtopが役立ちます。
障害対応を考えると、両方の使い方を覚えておくのがおすすめです。
htopの表示内容は保存できますか?
htopは、人がリアルタイムで画面を確認するための対話型ツールです。そのため、監視結果をそのまま定期的に保存する用途にはあまり向いていません。
記録や自動監視を行いたい場合は、ps、vmstat、pidstat、sarなどを使う方法があります。
まとめ
htopは、LinuxのCPU使用率、メモリ使用量、スワップ、実行中プロセスをリアルタイムで確認できる監視コマンドです。
topよりも画面が見やすく、カーソルキーやファンクションキーで直感的に操作できます。
まずは、次の基本操作を覚えておくとよいでしょう。
| 操作 | キー |
|---|---|
| CPU使用率順に並び替える | P |
| メモリ使用率順に並び替える | M |
| プロセスを検索する | F3 |
| プロセスを絞り込む | F4 |
| ツリー表示へ切り替える | F5 |
| 並び替え項目を選ぶ | F6 |
| プロセスへシグナルを送る | F9 |
| htopを終了する | qまたはF10 |
サーバーが重いときは、まずhtopを起動し、CPU使用率順とメモリ使用率順に並び替えて原因となるプロセスを探します。
htop
ただし、CPU使用率やメモリ使用量が高いだけで、すぐに異常と判断してはいけません。
プロセスの役割、ロードアベレージ、スワップ、ディスクI/O、ログなども確認し、プロセスを終了する前に影響範囲を調べることが大切です。




コメント