[〜#〜]ここ[〜#〜]PHP-FPM
がメモリを消費する方法についての議論に続き、top
コマンドでメモリを読み取る際に問題が発生しました。これは、PHP-FPM
を再起動した直後のtop
のスクリーンショットです。すべて正常です。約20のPHP-FPM
プロセスは、それぞれ5.5MBのメモリを消費します(合計の0.3%)。
PHP-FPM
を再起動する直前のサーバー(前回の再起動から1日後)を次に示します。ここでも、約25のPHP-FPM
があり、メモリ使用量は2倍です(10MBは合計の0.5%を示します)。したがって、使用されるメモリの合計は600〜700 MBになります。では、なぜ1.6GBのメモリが使われたのでしょうか?
Topは、メモリ使用量を確認するための最良の方法ではありません。ただし、 私の質問 はこの質問の重複としてマークされたので、ここに私の解決策を投稿します。
forum を読み、ps_mem.pyがメモリ使用量をチェックします。
リポジトリ: https://github.com/pixelb/ps_mem/
ダウンロード:
pip install ps_mem
使用法:
ps_mem
出力:
# ps_mem
Private + Shared = RAM used Program
4.0 KiB + 15.5 KiB = 19.5 KiB udevd
4.0 KiB + 16.0 KiB = 20.0 KiB mysqld_safe
4.0 KiB + 25.5 KiB = 29.5 KiB dbus-daemon
4.0 KiB + 27.5 KiB = 31.5 KiB xinetd
60.0 KiB + 14.5 KiB = 74.5 KiB epmd
108.0 KiB + 23.0 KiB = 131.0 KiB init
8.0 KiB + 135.0 KiB = 143.0 KiB saslauthd (2)
180.0 KiB + 34.0 KiB = 214.0 KiB check_scripts.s
796.0 KiB + 41.0 KiB = 837.0 KiB bash
528.0 KiB + 359.0 KiB = 887.0 KiB crond (7)
1.2 MiB + 218.0 KiB = 1.4 MiB sshd (2)
1.6 MiB + 45.0 KiB = 1.6 MiB rsyslogd
2.0 MiB + 133.0 KiB = 2.1 MiB beam.smp
1.3 MiB + 2.3 MiB = 3.6 MiB httpd (8)
12.8 MiB + 956.0 KiB = 13.8 MiB sendmail.sendmail (7)
53.5 MiB + 114.0 KiB = 53.7 MiB mysqld
317.6 MiB + 2.3 MiB = 320.0 MiB python (6)
---------------------------------
398.5 MiB
=================================