「Linuxをインストールしたけど、本当に軽くなってるんだろうか?」
「ちょっと動きが悪いけど、何が原因なんだろう?」
そう思うことはありませんか?
そんな時、マウス操作で「システムモニター」を開いて状況を確認するのもいいですが、それが端末でサッと見れたら、エンジニアみたいでカッコよくありませんか?
そこで今回のシリーズ【コマンドで遊ぼう】では、端末でCPUやメモリの使用状況とプロセス(動いているアプリ)の一覧が1画面で見られる「topコマンド」を紹介します
この「topコマンド」は、表示を自分好みにカスタマイズもできる、使って楽しいコマンドです
もちろん、ただ眺めるだけならシステムを壊す心配は一切ありません
さらに、どのLinuxに最初から入っているので、わざわざインストールする必要もありません
「せっかくLinuxを使うなら、カッコよく使いこなしてみたい」
そう思う方は、ぜひこの記事を読みながら一緒に試してみてください
topコマンドの起動と見た目のカスタマイズ
topコマンドは、CPUやメモリの利用率、プロセス(実行中のプログラム)をリアルタイムで表示する「監視ツール」です
まずは、自分にとって見やすい画面にカスタマイズしてみましょう
表示された情報を眺めるだけならシステムに悪影響を与えることはないので、安心して操作をしてください
これから行う操作をまとめると、以下の通り
→「Ctrl」+「Alt」+「T」の同時押しで端末(ターミナル)を起動
→ 端末に「top」と入力して「Enter」を押して、topコマンドを起動
→「d(小文字)」キーか「s(小文字)」キーを押して、更新間隔を変更
→「z(小文字)」キーを押して、表示の色を変更
→「1」キーを押して、CPUの情報をコア別の表示に変更
→「m(小文字)」キーを押して、メモリの情報の表示方法を変更
→「M(大文字)」キーを押して、プロセス(実行中のプログラム)の表示を、メモリの使用率順に変更
→「W(大文字)」キーを押して、変更した設定を保存
これから一つずつ詳しく紹介していきます
topコマンドの起動方法
「Ctrl」+「Alt」+「T」の同時押しで、端末が起動し、
「top」と端末に入力して「Enter」キーを押して、topコマンドを起動しましょう
せっかくコマンドで遊ぶので、キー操作だけで端末(ターミナル)を起動してみましょう
Linux Mint でtopコマンドを実行すると、端末内に、以下のように表示されます

Zorin OSでtopコマンドを実行した場合は、以下のように表示されます

このように、ディストリビューションによっては、背景色などが違う場合もありますが、操作は全く同じなので、安心して読み進めてください
なお、これから紹介する操作は、注意書きがない限り「topコマンド実行中の操作」ですので、topコマンドが起動している状態で、読み進めてください
情報の更新間隔の変更
「d(小文字)」キーか、「s(小文字)」キーを押すと、表示された情報の更新間隔を変更できます
topコマンドの表示は、標準では3秒ごとに情報が更新されますが、人によっては、「もっと早く切り替わってほしい」「いや、もう少し長く表示させたい」と思うかもしれません
そんな時に、この操作を行ってください
「d(小文字)」キーか「s(小文字)」キーを押すと、6行目の空の行に、「Change delay from 3.0 to」と表示されます
ここで、「1」と入力すると、「Change delay from 3.0 to」の右側に「1」と表示されるので、「Enter」を押すと、1秒ごとの更新間隔で表示されるようになります

ちなみに、「0.5」と入力すると、0.5秒ごとに更新されるようになります
なお、topコマンド起動時に以下の通りオプションを付けて実行すると、最初から指定した更新間隔で表示してくれます
top -d 1 ※1秒ごとの更新間隔で最初から表示してくれます
ただ、直前で紹介した通り、実行中でも更新間隔は変更できますので、起動時にオプションを付けなくても問題ありません
画面をカラフルにする方法
「z(小文字)」キーを押すと、下の画面のように色が変わります

さらに、
「Z(大文字)」キーを押すと、カラーマッピング(色のパターン)を変更する設定画面が表示されます

続けて、
「a(小文字)」キーを押すと、「1:Def」「2:Job」「3:Mem」「4:Usr」の4つの色のパターンにループで変更できます
好みのパターンに変更し、「Enter」キーを押して設定を反映させましょう
最初のモノトーンの表示より、だいぶ見やすくなったはずです
なお、「q(小文字)」キーを押すと、変更せずに最初の色変更の状態のまま終了させることができます
CPUをコア別に表示する方法
「1」キーを押すと、CPUのコアごとの情報を表示することができます

topコマンドの表示の3行目にはCPUの情報が表示されているのですが、初期設定では、1つのCPUとして表示されています
現在のCPUには「コア」と呼ばれる頭脳が複数搭載されていますので、その「コア」ごとの情報を表示するのに、この設定を使います
ただし、「コア」の多いCPUの場合、例えば12コアあるCPUの場合は、12行も画面を占領されてしまい、かえって見づらくなってしまいます
再度「1」キーを押すと、元の表示に戻るので、お好みの方で表示してみてください
メモリの状態の表示モードを切り替える方法
「m(小文字)」キーを押すと、4行目のメモリの使用状況の表示方式を変更できます
表示モードは以下の4種類があり、「m(小文字)」キーを押すごとに、以下のモードをループで切り替えられます
お好みのモードで表示しましょう
・バーグラフ(パターン1)
・バーグラフ(パターン2)
・非表示
・標準(初期設定のテキスト表示)
個人的にはパターン2のバーグラフが、2色に色分けされていて見やすいのでおすすめです

この2色の帯は、左側の色がメモリの使用している割合を、右側の色はバッファとキャッシュの使用している割合を表現しています
グラフよりも数値で知りたいという方は、標準のままで良いと思います
バッファとは、CPUとSSDやプリンターなどのデバイスとのデータのやり取りを中継する、一時保存領域です
キャッシュは、アプリなどが頻繁に何回も使用するデータをすぐに取り出すための一時的保管領域です
いずれも、パソコンの処理を高速化するためのデータの一時的保管領域なので、何か異常があるとかではないので、安心してください
プロセス一覧の並び順の変更方法
「M(大文字)」キーを押すと、8行目以降のプロセス一覧を、「メモリ使用率の高い順」に並び替えます
初期設定では、「CPU使用率の高い順」に表示されています
「P(大文字)」キーを押すと、元の「CPU使用率の高い順」にもどります
見る目的によって変わりますが、ただなんとなく見たいだけなら、個人的には初期設定のCPU使用率の高い順の方が、画面の変化があっておすすめです
カスタマイズした設定を保存してみよう
「W(大文字)」キーを押すと、その時点でのカスタマイズ状況を「~/.toprc」という設定ファイルに保存し、次回起動時にも同じカスタマイズ状況を再現してくれます
毎回設定しなくてすむので便利ですよね
ですが、遊びで見るなら毎回設定して見るのも有りだと思います
なお、カスタマイズの設定を消すには、以下のコマンドで「~/.toprc」ファイルを削除してください
rm ~/.toprctopコマンド実行時画面の見方
先ほどまで見た目のカスタマイズを行いましたが、自分好みに見やすくなったのではないでしょうか
でも、各項目に何が書かれているのか分からないと、つまらないですよね
そこでここでは、各項目の意味を紹介します
すべてを覚える必要はありません
あなたの興味ある項目だけ、覚えていってください
なお、これ以降は、cpuとメモリの表示は初期設定にもどした以下の表示を元に、各項目を説明します

1行目:基本情報

top – 22:00:00:現在の時刻
up 1:00:パソコンを起動してからの経過時間
1 user:ログインしているユーザー数
load average:過去1分、5分、15分間のプロセスの平均数
「user」は、普段使いの方なら「1」になっているはずです
もし「2」とかになっていたら、誰かにハッキングされているかも?(冗談です)
「load average」は、表示されている数字が大きいほど、処理が過密になっていることを意味します
2行目:プロセス(実行中のプログラム)情報

Tasks:総プロセス数
running:実行中のプロセス数
sleeping:スリープ状態(出番待ち)のプロセス数
stopped:一時停止中のプロセス数
zombie:終了したのにメモリから消えていないプロセス数
プロセスとは、「メモリ上で実行中のプログラム」のことです
もし、パソコンの動きが悪くなって、プロセス数が異常に多い場合は、余計なアプリを多く起動させていて、処理が渋滞して動きが悪くなっている可能性があります
そんな時は、使っていないけど起動させているアプリを終了してみると、改善する可能性があります
3行目:CPU情報

us:CPUがユーザー実行したプロセスの処理に費やした時間の割合(%)
sy:カーネルが管理に使っているプロセスの処理に費やした時間の割合(%)
ni:優先度が変更されたプロセスの処理に費やした時間の割合(%)
id:CPUが待機している時間の割合(%)
wa:データの読み書きの待機時間の割合(%)
hi:ハードウェアの割り込み要求に費やした時間の割合(%)
si:ソフトウェアの割り込み要求に費やした時間の割合(%)
st:ゲストOSが要求したのにCPUを割り当ててもらえなかった時間の割合(%)
いろいろムズカシイ項目が多いですが、とにかく数値が低ければ、CPUへの負荷は低いと判断すればいいでしょう
4行目:メモリ情報

total:メモリの総容量
free:メモリの空き容量
used:使用中のメモリの容量
buff/cache:バッファとキャッシュに使える容量
ここは、分かりやすい項目が多いですが、
バッファとは、CPUとデバイス(SSDなど)との処理速度の差を補うためのデータ一時保管場所で、
キャッシュとは、頻繁に何回もアクセスするデータを高速で呼び出すためのデータ一時保管場所です
「m(小文字)」キーでバーグラフを表示した際に右側の色で表現されているのが、この「buff/cache」で使用している容量です
5行目:メモリスワップ情報

メモリスワップとは、パソコンに搭載された物理メモリが満帆になった時に、メモリの役割を代わりに行ってもらう、SSDやHDDなどのストレージの一部の領域のことです
ここが使われ始めるとパソコンの動きが遅くなるので、メモリの増設を考える一つの目安になります
表示されている項目は、4行目のメモリ情報の項目と同じです
6行目:メッセージ表示スペース
更新間隔を変更する「d(小文字)」キーを押した時に「Change delay from 3.0 to」と表示されていたのが、この行です
7行目:プロセス一覧の項目名

PID:プロセスに付与されているID(PID)
USER:実行しているユーザーの名前
PR :カーネルが実際に管理するプロセスの優先度
NI:nice値(ユーザーが設定できるプロセス優先度の現在の設定値)
VIRT:アプリが「これくらいメモリを使うかも」と予約した仮想容量(KB)
RES:アプリが「今、実際に使っている」メモリ量(KB)
SHR:他のアプリと共有しているメモリ量
S:プロセスの状態
%CPU:CPU使用率
%MEM:物理メモリ使用率
TIME+:プロセス開始時からの合計CPU使用時間
COMMAND:実行コマンド名(アプリの名前)
「PR」には、カーネルが実際に管理するプロセスの優先度が表示されています
値は0〜39で、数値が低いほど優先度が高いことを示します
「NI」には、nice値が書かれています
nice値は、ユーザーが設定できるプロセス優先度の現在の設定値が表示されています
値の範囲は-20~19で、こちらも数値が低いほど優先度が高いことを示しますが、デフォルトは0です
「S」には、プロセスの状態が表示されており、プロセスの状態は、以下のように表現されています
R:実行中、もしくは実行可能状態
I:アイドリング状態
S:スリープ状態(割り込み可、イベント完了待ち)
D:スリープ状態(割り込み不可、ID完了待ち)
T:停止中
Z:ゾンビ状態
W:スワップアウト
「Z」のゾンビ状態とは、処理が終了しているのに残っているプロセスのこと
「W」のスワップアウトとは、物理メモリの内容をストレージのスワップ領域に書き出して、物理メモリの元のデータ消して、物理メモリに空き容量を作ることです
もし、「W」の表示が出ていたら、物理メモリに余裕がないことを意味しますので、不要なアプリを終了させたり、物理メモリの増設を検討すると良いでしょう
まとめ
今回の【コマンドで遊ぼう】では、端末でCPUやメモリの使用状況とプロセス(動いているアプリ)の一覧が1画面で見られる「topコマンド」を紹介しました
この記事を読んで、一緒に試してみた方は、いかがでしたか?
ただ単に情報を表示するだけでなく、自分好みにカスタマイズできて、楽しかったのではないでしょうか?
楽しいだけではなく、パソコンの動きが悪かった時には、原因を調べる手助けにもなってお得なtopコマンド
表示をカスタマイズして、情報を見るだけならシステムにも影響せず、安心して使えるのも良いところ
まだ試していない方は、「遊び感覚」で試してみてください
