CodeGym /コース /Docker SELF /システムプロセスの管理: ps, top, htop

システムプロセスの管理: ps, top, htop

Docker SELF
レベル 2 , レッスン 4
使用可能

システムプロセスの管理: ps, top, htop

1. コマンドps — プロセスの静的ビュー

Linuxがレストランだったとしたら、プロセスはキッチンのシェフだね。つまり、これはプログラムの実行可能なインスタンスで、メモリー上に存在しているものだよ。アプリを起動するかコマンドラインでファイルを実行すると、プロセスが生成され、それがタスクを完了するまで実行されるってわけ。

プログラミング的に言うと、プロセスはLinuxカーネルによって管理されていて、それぞれにユニークなID、つまりPID (Process ID) が割り当てられている。

ps (process status)コマンドは、プロセスリストを見るための基本的なコマンドだよ。これを使えば、システム上の現在のプロセスのスナップショットを見ることができる。psを使って、プロセスID、所有者、コマンドライン、使用リソースなどの情報を取得できるんだ。

基本的な構文

基本的なコマンドはこんな感じ:

ps

これで現在のターミナルで動いているプロセスが表示される。

でも、それだとつまらないよね!ちょっとスパイスを加えてみよう:

ps aux

ここで:

  • a — 他のユーザーのプロセスも表示。
  • u — 読みやすい形式で表示。
  • x — ターミナルに紐付いていないプロセスも含む。

出力例:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: プロセスを起動したユーザー。
  • PID: プロセスID。
  • %CPU: CPU使用率。
  • %MEM: メモリー使用率。
  • COMMAND: プロセスを呼び出したコマンド。

拡張オプション

  1. プロセスのツリー構造を確認しよう:

    ps -ejH
    

    これで、どのプロセスが他のプロセスの"子"なのかが分かるよ。

  2. PIDでフィルタリング:

    ps -p 1234
    

    ここで1234はPIDね。指定したプロセスだけが表示される。

  3. すべてのプロセスを完全なコマンドラインと一緒に出力:

    ps -ef
    

2. コマンド top — プロセスの動的モニタリング

top はプロセス用のテレビみたいなもの。プロセスがリアルタイムでどのように変化しているのか観察できるんだ。サーバーを起動したり、自分のコンピュータが「遅くなった」時には、top が一番の味方だよ。これを使えば、どのプロセスが一番CPUやメモリを食っているのかバッチリわかる。

基本的な使い方

ターミナルで次を入力するだけ:

top

出力例:

  • 最上段はシステムの「負荷」を表示する。
  • 中央部はタスク数(全体、アクティブ、スリープ、ゾンビ)をレポートしている。
  • メモリの情報はさらに下の部分。
  • 最下段はプロセスの一覧で、PID、USER、%CPU、COMMANDなどの便利な情報が含まれている。

topでのナビゲーション

  • k を押してプロセスを終了させる。PIDを入力。
  • P を押してプロセスをCPU順に並べ替える。
  • M を押してメモリ使用量順に並べ替える。
  • q を押して終了。

3. ツール htop — 便利なインターフェース

もしtopがちょっと「生っぽい」感じなら、htopへようこそ。これはプロセスをモニタリングするためのビジュアルインターフェースだよ。カラー対応で、マウスも使えて、直感的に分かりやすいんだ。

インストール

もしhtopがインストールされてなかったら、以下を利用して追加してね:

sudo apt-get install htop # Debianベースのディストリビューション用
sudo yum install htop     # RedHatベースのディストリビューション用

起動

htopを起動するには、単に以下を入力してね:

htop

インターフェースの例:

htopの利点:

  • プロセスリストをスクロールできる。
  • CPU、メモリ、swapのための色分け。
  • プロセスを終了するための便利なキー(例えば、F9)。

4. 実践課題

課題 1: 一番「欲張り」なプロセスを見つける

  • topまたはhtopを開きます。
  • CPUでプロセスをソートして、そのPIDを確認します。

課題 2: プロセスを終了する

  • killを使ってプロセスを「終了」させます:
    kill <PID>
    

課題 3: プロセスの分析

  • psを使用してPIDプロセスを分析します:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

注意点とおすすめ

  1. システムにとって重要でないと確信できない限り、プロセスを終了しないでください。例えば、PID 1のプロセスはinitであり、OSの基本です。
  2. htopは別途インストールする必要があります。コマンドが動作しない場合は、インストール状況を確認してください。
  3. 権限に注意してください。他のユーザーで実行されているプロセスを終了するには、管理者の権限が必要な場合があります。

実際に使ってみると、これらのツールがLinuxでの作業をどれだけ柔軟でわかりやすくするかが分かります。今やあなたはプロセスのボスです!

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION