システムパフォーマンス入門

パフォーマンスに詳しいインフラに憧れて

ユーザ用ツール

サイト用ツール


· 最終更新: 2024/02/13 by kurihara


Linux メモリー状況の確認(コマンド比較 free, sar -r, dstat, vmstat, top)

Linuxメモリーの基礎知識

残りの利用できるメモリーは、基本的には、「free + buffer + Cache」です。
ただし、buffer と caacheには、全て使えるわけではないので、注意が必要です。
RHEL7/CentOS7系の場合、残りの利用できるメモリーを把握するためには、「available」を見ましょう。
RHEL6/CentOS6系以前では、残りの利用できるメモリーを正確に把握できないです。

バッファーとキャッシュ

Linuxのメモリーを考える時に考慮する必要があるバッファーとキャッシュ

バッファー 一度アクセスのあったディスクブロックをキャッシュしています。
キャッシュ LinuxはI/Oを使えば使うほどページキャッシュしてI/Oをディスクに発生させないようにする。
Linuxは空いてるメモリをOS側でディスクキャッシュに使ってくれる。

参考:sarコマンドの結果からメモリの負荷を見る - bose999の試験管の中の話


/proc/meminfoで、メモリー状況を確認

RHEL/CentOS 7系
[root@centos7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            740         235         241           5         263         371
Swap:           819           0         819
[root@centos7 ~]#
[root@centos7 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         757968      240976      246896        5788      270096      380008
Swap:        839676           0      839676
[root@centos7 ~]#
[root@centos7 ~]# cat /proc/meminfo
MemTotal:         757968 kB
MemFree:          246964 kB
MemAvailable:     380076 kB    ★ 残り使えるメモリー
Buffers:            4180 kB
Cached:           233104 kB
SwapCached:            0 kB
Active:           240496 kB
Inactive:         195508 kB
Active(anon):     198944 kB
Inactive(anon):     5564 kB
Active(file):      41552 kB
Inactive(file):   189944 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        839676 kB
SwapFree:         839676 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        198888 kB
Mapped:            54248 kB
Shmem:              5788 kB
Slab:              32812 kB
SReclaimable:      15484 kB
SUnreclaim:        17328 kB
KernelStack:        3536 kB
PageTables:        15556 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1218660 kB
Committed_AS:    1475528 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        6680 kB
VmallocChunk:   34359729152 kB
HardwareCorrupted:     0 kB
AnonHugePages:     90112 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       49088 kB
DirectMap2M:      737280 kB
[root@centos7 ~]#
RHEL/CentOS 5系
[root@centos5.5 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1002        278        723          0         16        185
-/+ buffers/cache:         77        925
Swap:          502          0        502
[root@centos5.5 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1026752     285820     740932          0      16556     189936
-/+ buffers/cache:      79328     947424
Swap:       514072          0     514072
[root@centos5.5 ~]# cat /proc/meminfo
MemTotal:      1026752 kB
MemFree:        740932 kB    ★まだ使えるメモリ(MemFree+Buffers+Cached)
Buffers:         16564 kB    ★まだ使えるメモリ(MemFree+Buffers+Cached)
Cached:         189928 kB    ★まだ使えるメモリ(MemFree+Buffers+Cached)
SwapCached:          0 kB
Active:          76648 kB
Inactive:       169852 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      1026752 kB
LowFree:        740932 kB
SwapTotal:      514072 kB
SwapFree:       514072 kB
Dirty:             212 kB
Writeback:           0 kB
AnonPages:       40052 kB
Mapped:          21768 kB
Slab:            19756 kB
PageTables:       4324 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1027448 kB
Committed_AS:   184588 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    263292 kB
VmallocChunk: 34359474683 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
まだ使えるメモリー : MemFree + Buffers + Cached
MemTotal 物理 RAM 容量の合計 (キロバイト単位)
MemFree システムが未使用の物理 RAM の容量 (キロバイト単位)
Buffers ファイルバッファーに使用されている物理 RAM の容量 (キロバイト単位)。
Cached キャッシュメモリとして使用されている物理 RAM の容量 (キロバイト単位)。
SwapCached キャッシュメモリとして使用されている swap の容量 (キロバイト単位)。
Active アクティブに使用中のバッファーまたはページキャッシュ用メモリ容量の合計 (キロバイト単位)。
これは、最近使用されたメモリで、通常、他の目的では再構築されません。
Inactive バッファーまたはページキャッシュ用の使用可能な空きメモリ容量の合計 (キロバイト単位)。
これは、最近は使用されていないメモリで、他の目的で再構築することができます。
HighTotal 及び HighFree カーネル領域に直接マッピングされていない空きメモリ容量の合計 (キロバイト単位)。
LowTotal 及び LowFree カーネル領域に直接マッピングされている空きメモリ容量の合計 (キロバイト単位)。
SwapTotal 使用可能な swap の容量の合計 (キロバイト単位)。
SwapFree swap の空き容量の合計 (キロバイト単位)。
Dirty ディスクに書き戻しされるのを待っているメモリの合計容量 (キロバイト単位)。
Writeback ディスクに書き戻しされているアクティブなメモリの合計容量 (キロバイト単位)。
Mapped mmap コマンドを使用した、デバイス、ファイル、またはライブラリのマッピングに使用されているメモリの合計容量 (キロバイト単位)。
Slab カーネルが自ら使用する目的でデータ構造をキャッシュするのに使用しているメモリの合計容量 (キロバイト単位)。
Committed_AS ワークロードの完了が予想されるメモリの合計容量 (キロバイト単位)。この値は、最悪のシナリオの値を示しており、swap メモリも含みます。
PageTables 最も低いページテーブルレベル専用のメモリの合計容量 (キロバイト単位)。
VMallocTotal 割り当て済みの総仮想アドレス空間のメモリ容量の合計 (キロバイト単位)。
VMallocUsed 使用済み仮想アドレス空間のメモリ容量の合計 (キロバイト単位)。
VMallocChunk 使用可能な仮想アドレス空間の最大の連続メモリブロック (キロバイト単位)。
HugePages_Total システムのヒュージページの合計数。
HugePages_Free システムで使用可能なヒュージページの合計数。
Hugepagesize 各ヒュージページユニットのサイズ (キロバイト単位)。32 ビットアーキテクチャー用のユニプロセッサーカーネルの場合、この値のデフォルトは 4096 KB です。SMP、hugemem カーネル、及び AMD64 の場合は、デフォルトは 2048 KB です。又、Itanium アーキテクチャーの場合は、デフォルトは 262144 KB です。


メモリーを確認するためのLinuxコマンド(OS全体の状況)

メモリーの状況を確認するには、freeコマンドがよいです。
他のコマンドだと、バッファーやキャッシュを考慮していなかったりして、わかりずらいです。


freeコマンドでメモリー状況を確認

RHEL 7系以降
# free -m
              total        used        free      shared  buff/cache   available
Mem:            740         239         243           5         257         367
Swap:           819           0         819

availableが少ないほど問題

実質的な残りメモリー:available ≒ free + buff/cache 
                    367 ≒ 243M + 257M              

実質的な利用メモリー : 物理メモリー -  実質的な残りメモリー
total メモリーの合計量
used 使用メモリー容量
free 空きメモリー容量
shared 共有メモリー容量
buff/cache バッファーおよびキャッシュメモリー容量の合計
available 利用可能なメモリー容量
RHEL 7系以前
# free -m
             total       used       free     shared    buffers     cached
Mem:           503        165        338          0          8        124
-/+ buffers/cache:         32        471
Swap:         1023          0       1023

2行目のfreeが少ないほど問題

実質的な利用メモリー: 2行目used ≒ 1行目used - buffers - cached
                     32M ≒ 165M - 8M - 124M

実質的な残りメモリー: 2行目free ≒ 1行目free + buffers + cached
                     471M ≒ 338M + 8M + 124M
Mem total 総物理メモリ量
used 総物理メモリ使用量からfreeを引いたもの
used = total - free
物理メモリーをどれくらい使っているかではない。
物理メモリーをどれくらい使っているかは、used-の方をみる
/proc/meminfoには、この数値に相当するものはない
free まったく何の用途にも使われていないメモリ量
shared 常に0。現在は利用されていない
buffers ファイルなどのメタデータをキャッシュしている物理メモリ量
cached ファイルのデータ本体をキャッシュしている物理メモリ量
-/+ buffers/cache used
(Used Memory)
実質的な利用メモリー
buffers、cachedを含めないused量
used- = used - buffers - cached
/proc/meminfoのActiveに近い数値
free
(Free Memory)
実質的な残りメモリー
buffers、cachedを含めたfree量
free+ = free + buffers + cached
/proc/meminfoのInactiveに近い数値
Swap total Swap領域の総量
used totalからfreeを引いた量
free 使用していないSwap領域の量


sar -rコマンドでメモリーの利用率を確認

%memusedは、bufferとcachedが考慮されていないません。

[root@centos7 ~]# sar -r 1
Linux 3.10.0-693.21.1.el7.x86_64 (centos7)      2019年03月31日  _x86_64_        (2 CPU)

22時44分00秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
22時44分01秒    256232    501736     66.19      4180    234516   1463416     91.60    221924    205028        20
22時44分02秒    256232    501736     66.19      4180    234516   1463416     91.60    221924    205028        20
22時44分03秒    256232    501736     66.19      4180    234516   1463416     91.60    221928    205028        20
22時44分04秒    256232    501736     66.19      4180    234516   1463416     91.60    221928    205028        20
22時44分05秒    256232    501736     66.19      4180    234516   1463416     91.60    221928    205028        20
22時44分06秒    256232    501736     66.19      4180    234520   1463416     91.60    221928    205032        20
22時44分07秒    256232    501736     66.19      4180    234520   1463416     91.60    221928    205032        20
22時44分08秒    256232    501736     66.19      4180    234520   1463416     91.60    221928    205032        20
^C

22時44分09秒    256232    501736     66.19      4180    234520   1463416     91.60    221928    205032        20
平均値:     256232    501736     66.19      4180    234518   1463416     91.60    221927    205030        20
[root@centos7 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         757968      230896      255388        5724      271684      389948
Swap:        839676           0      839676
[root@centos7 ~]#
[root@centos7 ~]# cat /proc/meminfo
MemTotal:         757968 kB
MemFree:          253380 kB
MemAvailable:     388008 kB
Buffers:            4180 kB
Cached:           234656 kB
SwapCached:            0 kB
Active:           225404 kB
Inactive:         204096 kB
Active(anon):     190864 kB
Inactive(anon):     5572 kB
Active(file):      34540 kB
Inactive(file):   198524 kB
(略)
実質的な利用メモリー: kbmemused - kbbuffers - kbcached

実質的な残りメモリー: kbmemfree + kbbuffers + kbcached
kbmemfree 物理メモリの空き容量
kbmemused 使用中の物理メモリ量
物理メモリー - kbmemfree
%memused 物理メモリの使用率 bufferとcachedが考慮されていない。
物理メモリー / 使用中の物理メモリ量
kbbuffers バッファとして使用されている物理メモリの容量
一度アクセスのあったディスクブロックをキャッシュ
kbcached ページキャッシュとして使用されている物理メモリの容量
LinuxはI/Oを使えば使うほどページキャッシュしてI/Oをディスクに発生させないようにする。
kbcommit 事前に確保されているメモリ容量
%commit 事前に確保されているメモリ容量の割合
kbactive
kbinact
kbdirty


dstatでメモリー状況の確認

[root@centos7 ~]# dstat -t -gs --mem --vm --ipc
----system---- ---paging-- ----swap--- ------memory-usage----- -----virtual-memory---- --sysv-ipc-
     time     |  in   out | used  free| used  buff  cach  free|majpf minpf alloc  free|msg sem shm
01-04 00:07:08|   0     0 |   0   820M| 279M 4180k  237M  220M|   0   206   158   169 |  0   2   8
01-04 00:07:09|   0     0 |   0   820M| 279M 4180k  237M  220M|   0    13    12    15 |  0   2   8
01-04 00:07:10|   0     0 |   0   820M| 279M 4180k  237M  220M|   0    14    95    94 |  0   2   8
01-04 00:07:11|   0     0 |   0   820M| 279M 4180k  237M  220M|   0   160   166   163 |  0   2   8
01-04 00:07:12|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     7     8     4 |  0   2   8
01-04 00:07:13|   0     0 |   0   820M| 279M 4180k  237M  220M|   0    13    93    93 |  0   2   8
01-04 00:07:14|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     2     3     3 |  0   2   8
01-04 00:07:15|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     2     2     2 |  0   2   8
01-04 00:07:16|   0     0 |   0   820M| 279M 4180k  237M  220M|   0    13    95    95 |  0   2   8
01-04 00:07:17|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     2     3     3 |  0   2   8
01-04 00:07:18|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     2     3     3 |  0   2   8
01-04 00:07:19|   0     0 |   0   820M| 279M 4180k  237M  220M|   0    24   104   104 |  0   2   8
01-04 00:07:20|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     1     2     2 |  0   2   8
01-04 00:07:21|   0     0 |   0   820M| 279M 4180k  237M  220M|   0     2    82    82 |  0   2   8^C
[root@centos7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            740         242         224           5         273         363
Swap:           819           0         819
[root@centos7 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         757968      248084      229572        5784      280312      372280
Swap:        839676           0      839676
[root@centos7 ~]# cat /proc/meminfo
MemTotal:         757968 kB
MemFree:          229852 kB
MemAvailable:     372560 kB
Buffers:            4180 kB
Cached:           242508 kB
SwapCached:            0 kB
Active:           258612 kB
Inactive:         193784 kB
Active(anon):     205908 kB
Inactive(anon):     5584 kB
Active(file):      52704 kB
Inactive(file):   188200 kB



dstatの詳細は、dstatコマンドの見方。1秒間隔でシステム全体のCPU、メモリ、IO、トラフィックなどを確認 を確認してください。


vmstatでメモリー確認

freeとInactを足すことで確実に利用可能なメモリ量を算出することができます。

(実際に利用可能なメモリ量)≒(free+inactive)
inactive ページキャッシュや無名ページのうち、最後にアクセスされてからある程度時間がたち、ストレージとの同期も完了していて、すぐに捨てられるページです。
vmstatのオプション
  • -tで、タイムスタンプ表示
  • -wで、ワイド表示
  • -aで、アクティブ、インアクティブメモリ表示
$ vmstat -taw 1
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- -----timestamp-----
 r  b         swpd         free        inact       active   si   so    bi    bo   in   cs  us  sy  id  wa  st                 JST
 2  0       447564        72844       370052       384456    3    2    27     8    0    1   1   0  99   0   0 2018-08-06 23:33:46
 0  0       447564        72844       370052       384532    0    0     0     0  113   98   0   0 100   0   0 2018-08-06 23:33:47
 0  0       447564        72720       370052       384532    0    0     0     0   55   86   0   0 100   0   0 2018-08-06 23:33:48
 0  0       447564        72720       370052       384532    0    0     0     0   48   73   0   0 100   0   0 2018-08-06 23:33:49
 0  0       447564        72720       370052       384532    0    0     0     0   36   61   0   0 100   0   0 2018-08-06 23:33:50
 0  0       447564        72720       370052       384532    0    0     0     0   46   72   0   0 100   0   0 2018-08-06 23:33:51
 0  0       447564        72720       370052       384532    0    0     0     0   39   61   0   0 100   0   0 2018-08-06 23:33:52
 0  0       447564        72720       370052       384532    0    0     0     0   44   68   0   0 100   0   0 2018-08-06 23:33:53
 0  0       447564        72720       370052       384532    0    0     0     0   42   78   0   0 100   0   0 2018-08-06 23:33:54
 0  0       447564        72720       370052       384580    0    0     0     0   51   81   0   0 100   0   0 2018-08-06 23:33:55
 0  0       447564        72720       370052       384580    0    0     0     0   49   69   0   0 100   0   0 2018-08-06 23:33:56
 0  0       447564        72720       370052       384580    0    0     0     0   38   61   0   0 100   0   0 2018-08-06 23:33:57
 0  0       447564        72720       370052       384580    0    0     0     0   40   67   0   0 100   0   0 2018-08-06 23:33:58
 0  0       447564        72720       370052       384580    0    0     0     0   41   62   0   0 100   0   0 2018-08-06 23:33:59
 0  0       447564        72720       370052       384580    0    0     0     0   44   70   0   0 100   0   0 2018-08-06 23:34:00
 0  0       447564        72720       370052       384580    0    0     0     0   36   61   0   0 100   0   0 2018-08-06 23:34:01
 0  0       447468        68028       370460       384668  404    0   404    26  972  936  21   7  72   1   0 2018-08-06 23:34:02



vmstatの詳細は、vmstatコマンドの見方。まず全体的な傾向を確認 を確認してください。




メモリーを確認するためのLinuxコマンド(利用しているプロセスを確認)

topコマンドでプロセスごとのメモリー利用状況を確認

topで、「M (大文字)」で、メモリーでソートされます。

top - 00:19:58 up 0 min,  1 user,  load average: 0.20, 0.07, 0.03
Tasks: 158 total,   1 running, 157 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.2 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   757968 total,   227284 free,   247476 used,   283208 buff/cache
KiB Swap:   839676 total,   839676 free,        0 used.   371204 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1388 mysql     20   0 1632300  97732   9144 S   0.0 12.9   0:00.55 mysqld
  939 root      20   0  512532  29844  13772 S   0.3  3.9   0:00.45 dockerd-current
  942 root      20   0  562408  16624   5888 S   0.0  2.2   0:00.37 tuned
  746 root      20   0  113372  15944   3448 S   0.0  2.1   0:00.02 dhclient
  941 root      20   0  379760  12104   7380 S   0.0  1.6   0:00.08 php-fpm
  635 polkitd   20   0  534136  12016   4608 S   0.0  1.6   0:00.03 polkitd
  945 root      20   0  223448  10768   6404 S   0.0  1.4   0:00.20 snmpd
  671 root      20   0  537544   9280   6776 S   0.0  1.2   0:00.14 NetworkManager
  639 root      20   0  212936   8840   2700 S   0.0  1.2   0:00.08 rsyslogd
  940 root      20   0  250380   7724   5188 S   0.0  1.0   0:00.14 httpd
 1024 apache    20   0  537208   6244   1332 S   0.0  0.8   0:00.02 httpd
 1023 apache    20   0  537208   6240   1328 S   0.0  0.8   0:00.02 httpd
 1022 apache    20   0  537208   6236   1328 S   0.0  0.8   0:00.02 httpd
 1733 root      20   0  148360   5960   4636 S   0.0  0.8   0:00.04 sshd
  976 root      20   0  142628   5744   3916 S   0.0  0.8   0:00.11 docker-containe
 1127 nginx     20   0  379760   5492    768 S   0.0  0.7   0:00.00 php-fpm
 1128 nginx     20   0  379760   5492    768 S   0.0  0.7   0:00.00 php-fpm
 1129 nginx     20   0  379760   5492    768 S   0.0  0.7   0:00.00 php-fpm
 1130 nginx     20   0  379760   5492    768 S   0.0  0.7   0:00.00 php-fpm
 1131 nginx     20   0  379760   5492    768 S   0.0  0.7   0:00.00 php-fpm
VIRT Virtual Image 確保された仮想メモリ全て。スワップしたメモリ使用量を含む。
RES Resident Memory Size
(KiB)
物理メモリのうち、実際に消費されているメモリ容量
スワップを含まない
SHR Shared Memory Size
(KiB)
RES のうち、共有メモリとして消費されているメモリ容量
他のプロセスと共有される可能性のあるメモリのサイズ



topの詳細は、topで、プロセスごとのCPU使用率やメモリ使用率などを確認 を確認してください。


psコマンドでプロセスごとのメモリー利用状況を確認

VSZ ( Virtual Memory Size)
VSS (virtual set size)
仮想メモリ(Kバイト)
仮想メモリまで含んだメモリ使用量
RSS (Resident set size) 物理メモリの消費量(Kバイト)
実際に使用しているメモリサイズ(kB)
]# ps aux --sort rss
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           2  0.0  0.0      0     0 ?        S    Jan05   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   Jan05   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   Jan05   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   Jan05   0:00 [kworker/0:0H-kblockd]
root           8  0.0  0.0      0     0 ?        I<   Jan05   0:00 [mm_percpu_wq]
root           9  0.0  0.0      0     0 ?        S    Jan05   0:04 [ksoftirqd/0]
root          10  0.0  0.0      0     0 ?        I    Jan05   3:44 [rcu_sched]
root          11  0.0  0.0      0     0 ?        S    Jan05   0:02 [migration/0]

(略)

root       48941  0.0  1.0  56140 10312 ?        Ss   Jan06   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  194408  0.0  1.1  56380 10948 ?        S    01:31   0:00 nginx: worker process
www-data  194407  0.1  1.1  56380 11416 ?        S    01:31   0:01 nginx: worker process
root         751  0.0  1.7 1393120 17268 ?       Ssl  Jan05   0:53 /usr/lib/snapd/snapd
root         528  0.0  1.8 280140 17952 ?        SLsl Jan05   1:05 /sbin/multipathd -d -s
root         341  0.0  3.0 219436 30440 ?        S<s  Jan05   1:22 /lib/systemd/systemd-journald
www-data     845  0.2  8.7 216568 86924 ?        S    Jan05  19:10 php-fpm: pool www
www-data     846  0.2  9.3 217048 92236 ?        S    Jan05  19:15 php-fpm: pool www
]$  ps aux | sort -r -k4 | head -n7
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
www-data     846  0.2  9.3 217544 92088 ?        S    Jan05  23:53 php-fpm: pool www
www-data     845  0.2  9.1 215624 90824 ?        S    Jan05  23:53 php-fpm: pool www
root         341  0.0  7.3 268588 72944 ?        S<s  Jan05   1:34 /lib/systemd/systemd-journald
root         751  0.0  1.9 1393120 19184 ?       Ssl  Jan05   1:02 /usr/lib/snapd/snapd
root         528  0.0  1.8 280140 17952 ?        SLsl Jan05   1:17 /sbin/multipathd -d -s
postfix   226223  0.0  1.0  42756 10692 ?        S    00:40   0:00 smtpd -n smtp -t inet -u -c -o stress= -s 2
]# ps aux | sort -r -n -k5 | head -n10
root         751  0.0  1.9 1393120 19184 ?       Ssl  Jan05   1:02 /usr/lib/snapd/snapd
root         528  0.0  1.8 280140 17952 ?        SLsl Jan05   1:17 /sbin/multipathd -d -s
root         341  0.0  7.3 268588 72916 ?        S<s  Jan05   1:34 /lib/systemd/systemd-journald
root         714  0.0  0.3 237088  3560 ?        Ssl  Jan05   0:30 /usr/lib/accountsservice/accounts-daemon
root         840  0.0  0.2 233776  2472 ?        Ssl  Jan05   0:00 /usr/lib/policykit-1/polkitd --no-debug
syslog       746  0.0  0.2 224492  2888 ?        Ssl  Jan05   0:16 /usr/sbin/rsyslogd -n -iNONE
www-data     846  0.2  9.3 217544 92052 ?        S    Jan05  23:53 php-fpm: pool www
www-data     845  0.2  9.1 215624 90704 ?        S    Jan05  23:53 php-fpm: pool www
root         735  0.0  0.4 199348  4356 ?        Ss   Jan05   0:50 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
kurihara  225971  0.0  0.3 169924  3244 ?        S    00:37   0:00 (sd-pam)
 ps aux | sort -r -n -k6 | head -n7
www-data     846  0.2  9.3 217544 92108 ?        S    Jan05  23:53 php-fpm: pool www
www-data     845  0.2  9.1 215624 90824 ?        S    Jan05  23:54 php-fpm: pool www
root         341  0.0  7.3 268588 72980 ?        S<s  Jan05   1:34 /lib/systemd/systemd-journald
root         751  0.0  1.9 1393120 18928 ?       Ssl  Jan05   1:02 /usr/lib/snapd/snapd
root         528  0.0  1.8 280140 17952 ?        SLsl Jan05   1:17 /sbin/multipathd -d -s
kurihara  225969  0.0  0.9  18388  9504 ?        Ss   00:37   0:00 /lib/systemd/systemd --user
www-data  194407  0.1  0.9  56416  8972 ?        S    Jan11   2:32 nginx: worker process


Tips

`apache` のみ抽出し、使用メモリ量を合計して表示

$ ps aux | grep apache | awk '{sum += $6}END{print sum}'
94876


ps_mem.pyで、プロセスが利用しているメモリーを調査

# wget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py
# chmod a+x ps_mem.py
# python ps_mem.py
 Private  +   Shared  =  RAM used       Program

  4.0 KiB +  25.0 KiB =  29.0 KiB       qemu-ga
  8.0 KiB +  25.0 KiB =  33.0 KiB       agetty (2)
  4.0 KiB +  41.5 KiB =  45.5 KiB       systemd-udevd
 20.0 KiB +  31.0 KiB =  51.0 KiB       atd
 40.0 KiB +  13.5 KiB =  53.5 KiB       lsmd
(略)
336.0 KiB + 484.0 KiB = 820.0 KiB       sshd (3)
536.0 KiB + 438.0 KiB = 974.0 KiB       rsyslogd
848.0 KiB + 370.0 KiB =   1.2 MiB       polkitd
  1.4 MiB + 387.0 KiB =   1.7 MiB       systemd-journald
  1.8 MiB +  69.0 KiB =   1.8 MiB       bash (2)
  1.8 MiB + 372.5 KiB =   2.1 MiB       NetworkManager
  7.8 MiB +   5.2 MiB =  13.0 MiB       nginx (3)
 46.5 MiB +  84.5 KiB =  46.6 MiB       systemd
 98.2 MiB +   7.5 MiB = 105.8 MiB       php-fpm (8)
---------------------------------
                        178.7 MiB
=================================
見方

php-fpmは全体で、約105MB利用しており、8プロセスがある。
1プロセスは、約13MB利用しています。




参考


· 最終更新: 2024/02/13 by kurihara

ページ用ツール