LoginSignup
3
6

More than 3 years have passed since last update.

Linuxコマンドチートシート(プロセス・メモリ・ディスク編)

Last updated at Posted at 2019-10-02

はじめに

この記事は Linux 環境でのプロセス、メモリ、ディスクの状況確認のために使う自分のためのコマンドのチートシートです。
適宜更新していきます。

プロセス

プロセスの一覧取得

OS上で動いているすべてのプロセスをCPUやメモリの使用率も表示して確認するのは以下のコマンド。

$ ps aux

ここから特定のキーワードでプロセスを検索したいときは grep を用いるとよい。

$ ps aux | grep node

仮想メモリ使用量でソートするは以下の感じ。

$ ps aux | sort -rnk 5

子プロセスを考慮してプロセスをツリー表示する場合は以下を使う。

$ pstree -p

プロセスの正常終了

$ sleep 600 &
[1] 9087
$ ps
  PID TTY          TIME CMD
 6991 pts/0    00:00:00 bash
 9087 pts/0    00:00:00 sleep
 9088 pts/0    00:00:00 ps
$ kill 9087
$ ps
  PID TTY          TIME CMD
 6991 pts/0    00:00:00 bash
 9142 pts/0    00:00:00 ps

指定のプロセスが開いているファイルを調べる

$ sudo lsof -p ${pid}
COMMAND  PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
dockerd 1104 root  cwd       DIR              259,5     4096    5376151 /var/snap/docker/384
dockerd 1104 root  rtd       DIR                7,1      321      12827 /
dockerd 1104 root  txt       REG                7,6 79888528         14 /snap/docker/384/bin/dockerd
dockerd 1104 root  mem-W     REG              259,5    32768     656392 /var/snap/docker/common/var-lib-docker/buildkit/cache.db
dockerd 1104 root  mem-W     REG              259,5    16384     656370 /var/snap/docker/common/var-lib-docker/buildkit/metadata.db
dockerd 1104 root  mem-W     REG              259,5    16384     656367 /var/snap/docker/common/var-lib-docker/buildkit/snapshots.db

指定のファイルを開いているプロセスIDを調べる

$ lsof ${filepath}

指定のプロセスが開いているファイルを調べる

$ lsof -p ${pid}

各プロセスの通信に使用しているポートなどを確認する

$ lsof -i

メモリ

メモリ使用量をMB単位で表示する。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15935        2259       11752         158        1923       13168
Swap:          2047           0        2047

Memは物理メモリ、Swapはディスク上のスワップ領域となります。

shared は主に tmpfs ファイルシステムで使われている領域のサイズを表す。
Ubuntu だと /dev/shm などにマウントされている。

ファイルの読み込み時にメモリにキャッシュするのだが、buff/cache は現在メモリでキャッシュしている領域のサイズを指す。

Memused はプロセスなどが使っている物理メモリ使用量。buff/cache は含まない。
Memfree も buff/cache を含まない空いている物理メモリ領域を指す。
Memavailable は開放可能である buff/cache も含めた利用可能な物理メモリ領域を指す。

ディスク

指定のファイルのメタデータを確認する

$ stat examples.desktop 
  File: examples.desktop
  Size: 8980        Blocks: 24         IO Block: 4096   通常ファイル
Device: 10305h/66309d   Inode: 3934242     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    teru)   Gid: ( 1000/    teru)
Access: 2019-10-01 22:07:22.533667350 +0900
Modify: 2019-09-28 19:50:24.095516675 +0900
Change: 2019-09-28 19:50:24.095516675 +0900
 Birth: -

ディレクトリ内の各ファイルの inode 番号を調べる

$ ls -i

各ファイルシステムの容量確認

$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             8135284        0   8135284   0% /dev
tmpfs            1631836     2132   1629704   1% /run
/dev/nvme0n1p5  86053984 14722548  66917024  19% /
tmpfs            8159168   109296   8049872   2% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            8159168        0   8159168   0% /sys/fs/cgroup

各ファイルシステムのinodeの利用率

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
udev           2033821    646 2033175    1% /dev
tmpfs          2039792   1200 2038592    1% /run
/dev/nvme0n1p5 5505024 376935 5128089    7% /
tmpfs          2039792    226 2039566    1% /dev/shm
tmpfs          2039792      5 2039787    1% /run/lock
tmpfs          2039792     18 2039774    1% /sys/fs/cgroup

その他

指定の秒ごとにコマンドを実行して結果を表示し続ける

10秒ごとに更新してプロセス一覧を表示し続ける。

$ watch -n 10 ps aux

参考資料

3
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6