【Linux入門】psとtopでプロセス管理してみよう(初心者向け解説)
はじめに
Linuxを使っていると「なんか動作が重い…」「今どんなプログラムが動いてるんだろ?」って気になるときありますよね。
そんなときに役立つのが ps と top です。
私も最初は「プロセスってなに?チーズ?」って感じだったんですが(笑)、実はとても大事な仕組みなんです。
psコマンド
基本の使い方
ps
サンプル出力:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
2345 pts/0 00:00:00 ps
実行中のプロセスを一覧表示します。
ただし、このままだと自分のシェルくらいしか出てきません。
詳細表示(aux)
ps aux
サンプル出力:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mio 1234 0.0 0.1 245678 5678 pts/0 Ss 12:00 0:00 bash
mio 2345 1.0 0.3 512000 12000 pts/0 R+ 12:05 0:00 ps aux
-
PID= プロセスID(終了させるときに使う番号) -
%CPU,%MEM= CPUやメモリ使用率 -
COMMAND= 実行しているコマンド
「今どんなものが動いてる?」を確認したいときはこれが定番です。
プロセスを探す
ps aux | grep bash
サンプル出力:
mio 1234 0.0 0.1 245678 5678 pts/0 Ss 12:00 0:00 bash
パイプで grep と組み合わせれば、特定のプロセスだけを探せます。
私は「Python動いてる?」「nginxいる?」ってよく調べてます。
topコマンド
基本の使い方
top
サンプル出力(抜粋・イメージ):
top - 12:10:01 up 1:23, 2 users, load average: 0.05, 0.10, 0.12
Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.5 sy, 0.0 ni, 98.0 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 8000 total, 2000 free, 3000 used, 3000 buff/cache
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 mio 20 0 245678 5678 1234 S 0.0 0.1 0:00.03 bash
2345 mio 20 0 512000 12000 2345 R 1.0 0.3 0:00.10 top
リアルタイムでCPUやメモリの使用状況を確認できます。
「今めっちゃ重いのはどのプロセス?」が一目でわかるんです。
終了するには?
-
ps→ ただコマンドが終わるだけ -
top→qを押すと終了できます
私は最初 top を閉じられなくて、ターミナルごと落としたことあります…笑
プロセスを終了する(kill)
もし暴走しているプロセスを止めたいなら kill を使います。
kill 1234
これで PID 1234 のプロセスを終了できます。
(※自分の責任でやってね!システムに必要なプロセスを消すと危険です💦)
まとめ
- ps = プロセス一覧を表示(静的なスナップショット)
- top = リアルタイムでプロセス監視
- kill = プロセスを終了
プロセス管理を覚えると、「重いときに調べられる」「怪しい動きを止められる」など、一気に上級者っぽくなります。
私も初めて ps aux を打ったときは「Linuxって生きてるんだ…」ってちょっと感動しました笑。
💡 ちなみに…
ほかにも「Linux初心者におすすめの学習リソース」をまとめた記事を書いてます。
リソース選びで迷ったときの参考になると思うので、良かったらのぞいてみてくださいね〜。