システムプロセスの監視
`ps`、`top`、`htop`などのツールで実行中のプロセスを確認し、リソースを大量消費しているプロセスを特定して、プロセスの状態を効果的に管理します。
「システムプロセスの監視」はCoddyKit上の無料Linux Server Deployment & SSH Masteryレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Server Deployment & SSH Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。
プロセスとは何か
Linux におけるプロセスとは、実行中のプログラムのインスタンスです。実行するすべてのコマンドや開くすべてのアプリケーションが、1 つ以上のプロセスを開始します。
プロセスを理解することは、サーバー管理に欠かせません。システムの状態を監視し、問題をトラブルシューティングして、サーバーを安定して動作させるのに役立ちます。
`ps` の紹介:プロセスのスナップショット
ps コマンド(「process status」の略)は、現在実行中のプロセスのスナップショットを表示します。
デフォルトでは、現在のターミナルセッションに関連付けられたプロセスが表示されます。今この瞬間の状態を簡単に撮影するようなものです。
ps だけを実行してみましょう。
ps`ps` ですべてのプロセスを表示する
現在のターミナルにあるプロセスだけでなく、システム上で実行中のすべてのプロセスを表示するには、ps に特定のオプションを指定する必要があります。
一般的な方法は次の 2 つです。
ps aux:すべてのユーザーのすべてのプロセスを表示します。ps -ef:すべてのプロセスを完全な形式で表示します。
ps aux を使って、包括的な一覧を取得してみましょう。
ps aux`ps aux` の出力を読み解く
ps aux の出力は圧倒されるように見えるかもしれませんが、重要な列から必要な情報を確認できます。
- USER:プロセスを所有しているユーザーです。
- PID:Process ID(プロセスID)の略で、各プロセスに割り当てられた一意の番号です。
- %CPU:プロセスが使用しているCPU時間の割合です。
- %MEM:プロセスが使用している物理メモリの割合です。
- COMMAND:プロセスを開始したコマンドです。
これらの情報を使うと、誰が何を実行しているのか、またどれだけのリソースを消費しているのかを特定できます。
`top` を使ってみる:リアルタイム監視
ps がスナップショットを表示するのに対し、top(table of processes)は、システム上のプロセスを動的かつリアルタイムに表示します。
数秒ごとに更新され、現在最も多くのリソースを消費しているプロセスを確認できます。対話的に操作でき、並べ替えやフィルタリングも可能です。
top を終了するには、q を押します。
top`top` の表示を理解する
top コマンドには、主に2つのセクションがあります。
- Summary Area:上部に、システムの稼働時間、ユーザー数、ロードアベレージ、CPUとメモリの統計情報が表示されます。
- Process List:概要の下に個々のプロセスが一覧表示されます。通常、デフォルトではCPU使用率の高い順に並びます。
%CPU と %MEM の値が高いプロセスを探すと、負荷の高いプロセスを見つけられます。
`htop`:強化版の `top`
htop は、top に似た対話型のプロセスビューアーですが、より使いやすいインターフェースと追加機能を備えています。
サーバーに最初からインストールされていない場合は、先にインストールする必要があります。Debian/Ubuntuベースのシステムでは、次のコマンドを使用します。
sudo apt update && sudo apt install htopインストールしたら、htop と入力するだけで起動できます。
htop`htop` の機能を操作する
htop には、top より優れた次のような機能があります。
- 視覚的なバー:CPU、メモリ、スワップの使用量が、色付きのASCIIバーで表示されます。
- 簡単なナビゲーション:矢印キーでスクロールし、Fキーで一般的な操作を実行できます(F6で並べ替え、F4でフィルタリング、F9でプロセスの終了など)。
- プロセスツリー:プロセスを階層的なツリー構造で表示できます。
プロセスを視覚的に管理できる強力なツールです。
リソースを大量消費するプロセスを見つける
top と htop はどちらも、CPUやメモリなどのリソースを過剰に消費しているプロセスを特定するのに適しています。
top では、通常プロセスが %CPU の順に並びます。htop では、列をクリックするかF6を使って簡単に並べ替えられます。
%CPU または %MEM の値が高い場合は、サーバーの動作を遅くしている可能性がある「リソースを大量消費するプロセス」であることを示します。
プロセス監視の確認
リアルタイムでCPUとメモリを最も多く消費しているプロセスを、すぐに特定する必要があります。この作業に最適なコマンドはどれでしょうか。
まとめ:プロセスを監視する
Linuxサーバー上のプロセスを監視するための基本的なツールを確認しました。
ps:プロセスの静的なスナップショットを表示します。top:リアルタイムでの動的な監視とシステム概要の表示に使用します。htop:より高機能で対話的なtopです。
これらのコマンドを使いこなすと、サーバーを正常かつ高い性能で維持できます。
よくある質問
「システムプロセスの監視」レッスンは無料ですか?
はい。「システムプロセスの監視」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Server Deployment & SSH Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。
「システムプロセスの監視」で何を学びますか?
`ps`、`top`、`htop`などのツールで実行中のプロセスを確認し、リソースを大量消費しているプロセスを特定して、プロセスの状態を効果的に管理します。 ブラウザで直接実行するハンズオンコードでLinux Server Deployment & SSH Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Linux Server Deployment & SSH Masteryを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLinux Server Deployment & SSH Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「システムプロセスの監視」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLinux Server Deployment & SSH Masteryレッスンでコードを書いて実行できますか?
はい。すべてのLinux Server Deployment & SSH Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。