Linuxでよく使うコマンドのメモ -メモリとプロセス-

以下、自分が仕事でよく使うコマンドのメモ。シェルはBashを使用。今回はメモリやプロセス関係に焦点を絞った備忘録。
 

catコマンドで搭載メモリ確認する

cat /proc/meminfo

搭載メモリを確認する。
 

freeコマンドでメモリの使用量を確認する

free

メモリの使用量や空き容量の一覧を見ることができる。-mオプションを付けることでメモリの容量をメガバイト単位で表示。
 

psコマンドで動作しているプロセスを確認する

ps ax

現在システム上で動作しているプロセスを確認することができる。aオプションでは全てのユーザーが実行中のプロセスを表示し、xオプションではユーザーが実行するものではないプロセスも表示できる。
 

ps ax | more

psコマンドにaオプションとxオプションに加え、パイプ処理とmoreコマンドを組み合わせたもの。psコマンドによる標準出力が画面内に収まりきらない場合、moreコマンドで1画面ずつストップさせながら出力することができる。moreコマンドはqで抜けることができる。
 

ps ax | grep [プロセス名]

psコマンドにaオプションとxオプションに加え、パイプ処理とgrepコマンドを組み合わせたもの。grepコマンドによって、[プロセス名]に指定したプロセスに出力を絞り込むことができる。
 

psコマンド実行後の項目の意味
USER プロセスの所有ユーザー
PID プロセス番号
&CPU CPUの占有率
&MEM 実メモリでの占有率
SIZE 仮想分も含めた使用サイズ(Kバイト)
RSS 実メモリ上の使用サイズ(Kバイト)
TTY 端末名
STAT プロセスの状態
R 移動中
S 一時停止中
D 停止不可能一時停止
T 終了処理中
Z ゾンビプロセス(既に実体は無い)
W 実メモリ上に無くて、スワップアウトしている
N nice値
START プロセスの開始時刻
TIME プロセスの総実行時間
COMMAND 実行コマンド名とパス(シェル表記の場合もあり)

 

topコマンドで動作しているプロセスを確認する

top

現在システム上で動作しているプロセスの一覧を表示するコマンド。psコマンドはコマンドを実行した瞬間のプロセスの状態を表示するのに対し、topでは5秒おきにプロセスの状態を更新しながら表示をすることができる。デフォルトではプロセスの表示の更新タイミングは5秒毎だが、-dオプションの後に秒を記述することでプロセスの表示を更新するタイミングを変更することができる。
 

jobsコマンドで現在稼働中のジョブを確認する

jobs

現在稼働中のジョブを番号付きで一覧表示することができる。
jobsコマンドは以下のような出力を行う。

[1]     Stopped    vim sample.txt
[2]-    Stopped    ls -a /bin | more
[3]+    Stopped    ls -l /sbin | less

 
上記の書式を表すと、以下のようになる。

[ジョブ番号]識別子    ジョブの状態    ジョブの内容

※識別子は、最新のジョブに+、最新から2番目のジョブに-が割り当てられる。
 

killコマンドでプロセスやジョブを終了する

kill [シグナル][プロセスIDまたはジョブ番号]

何らかの理由で終了できずに残ってしまったプロセスまたはジョブを削除するには、killコマンドを使用する。ちなみに、一般ユーザは自分が実行したプロセスまたはジョブしか終了できない。
終了の方法はシグナルによって決まる。通常、よく使うシグナルはSIGHUP(終了して再起動)、SIGKILL(強制終了)など。
シグナルには以下の種類があり、シグナル番号、もしくはシグナル名を指定して使用する。

シグナル番号 シグナル名 意味
1 SIGHUP 端末との接続が切断された(Hangup)ことによるプロセスの終了
2

SIGINT

キーボードからの割り込み(Interrrupt)によるプロセスの終了
3

SIGQUIT

キーボードからのプロセスの中止(Quit)
4 SIGILL 不正な命令(Illegal instruction)によるプロセスの中止
5 SIGTRAP トレース(Trace),ブレーク・ポイント・トラップ(breakpoint trap)によるプロセスの終了
6 SIGABRT abort関数によるプロセスの中断(Aborted)
8 SIGFPE 浮動少数点例外(Arithematic exception)によるプロセスの終了
9 SIGKIL Killシグナルによるプロセスの終了(killed)
11 SIGSEG 不正なメモリー参照(Segmentation fault)によるプロセスの終了
13 SIGPIP パイプ(Pipe)破壊によるプロセスの終了
14 SIGALR alerm関数によるプロセスの終了
15 SIGTER 終了(Termination)シグナルによるプロセスの終了

 

#1625番のプロセスを強制終了す
kill -9 1625

 

kill -HUP httpd

以上
 
 
参考
ps~稼働中のプロセスを書き出す
top~プロセスの使用状態をモニタする

Article written by

コメントを残す