Linuxのプロセスビューワといえばtopですよね。でも、もっと高機能な「htop」というプロセスビューワがあるんです。topと同じように端末ウィンドウやコンソールで動きますが、ずっと高機能ですよ。主な特徴は以下の通りです。
- CPU負荷やメモリ・スワップ使用率がグラフ表示される
- 上下左右にスクロールしてすべて表示できる
- カラフルな文字で見やすく表示される
- 配色や表示項目などをカスタマイズできる
- カスタマイズした内容を保存できる
- キーボードだけじゃなくマウスでも操作できる
htopのインストール
では、htopをインストールしましょう。以下に、主なディストリビューションごとの手順を紹介します。
Ubuntu 16.04、Debian 9の場合は、以下のコマンドでインストールできます。
sudo apt -y install htop
Fedora 26の場合、以下のコマンドでインストールできます。
sudo dnf -y install htop
CentOS 7の場合、EPELリポジトリからインストールできます。有効になっていなければ、以下のコマンドで設定してください。
sudo yum -y install epel-release
その後、以下のコマンドでインストールできます。
sudo yum -y install htop
htopを起動する
起動は、コマンドラインで「htop」と実行するだけです。
htop
すると、以下のように表示されます。
画面左上は、CPUコアごとの使用率、メモリの使用率、スワップの使用率の表示です。グラフ表示されるので、topより分かりやすいですね。
右上は、プロセス(タスク)数、スレッド数、CPUを使っているスレッド数が表示されます。
その次の行は、ロードアベレージ(過去1分間、5分間、15分間の平均待ちプロセス数)です。
最後の行は、起動後の経過時間です。
画面の一番下には、ファンクションキーの機能が書かれています。F1は「Help」なのですが、デスクトップ環境で「gnome-terminal」のような端末エミュレーターを用いている場合、そちらのヘルプが開いてしまうでしょう。そういった場合は、マウスで「F1」の部分をクリックしてください。すると、以下のようにヘルプが表示されます。
これらの操作のうち、よく使われるものを見ていきましょう。
プロセス一覧の並べ替え
Shift+PキーでCPU使用率順、Shift+Mキーでメモリの使用率順、Sfhit+TキーでCPU使用時間の合計順に並べます。さらに、Shift+Iキーで昇順と降順を切り替えることができます。なお、マウスで各項目をクリックして並べ替えたり、昇順と降順を切り替えることも可能です。
また、F6キーを押して、並べ替える項目を矢印キーで選ぶこともできます。
プロセス一覧のスクロール
htopでは、矢印キーを使ってプロセス一覧を上下左右にスクロールさせることができます。これで、画面に入りきらないプロセスをみたり、コマンドのパラメーターを確認することが可能です。
htopの設定【F2キー】
F2キーを押すことで、設定画面に入ることができます。表示項目を変更したり、色のテーマを変えたりすることができます。
設定内容は、「~/.config/htop/htoprc」に保存されます。このファイルを消せば、デフォルトの設定に戻ります。
プロセスの検索【F3キー】
F3キーを押すと、入力した文字列でプロセスを検索できます。
F3キーで次を検索し、Escキーで検索モードを抜けます。
プロセスのフィルタ【F4キー】
F4キーでプロセスをフィルタします。入力した文字列に一致したプロセスのみが表示されます。
プロセスのツリー表示【F5キー】
F5キーもしくはtキーでプロセスの親子関係をツリー表示させることができます。この状態でプロセスを選んでF6を押すと、ツリーを閉じたり開いたりできます。
もう一度F5キーを押すと元に戻ります。
プロセスへのシグナル送信【F9キー】
プロセスを選択してF9キーもしくはkキーを押すと、「シグナル」を選択して送ることができます。topコマンドだと数値を入力しなければいけないので、少し楽ですね。
プロセスの優先度設定【F7・F8キー】
rootで実行した場合は、F7キーで選択したプロセスのnice値を下げる(プロセスの優先度を上げる)ことができます。
F8キーを押すと、選択したプロセスのnice値が上がります(優先度が下がります)。
プロセスが開いているファイルを見る【l(エル)キー】
プロセスを選択してlキーを押すと、lsofコマンドを実行し、そのプロセスが開いているファイルが表示されます。
プロセスのシステムコールをトレースする【sキー】
プロセスを選択してsキーを押すと、straceコマンドを実行し、そのプロセスのシステムコールをトレースします。
まとめ
topコマンドだと、少し見にくかったり、操作が面倒だったりする部分が、htopコマンドだと改善されています。また、矢印キーでのスクロールや検索、シグナルの送信なんかもできるので、ps、less、grep、killといったコマンドを組み合わせてやっていることもhtopだけでできますよね。ぜひ一度インストールして、試してみてください。
コメント