一部のphpプロセスのメモリ使用量を理解しようとしています。と の両方get_memory_usage()
を使用してみましpmap
たが、結果は約 1 桁ずれているようです。と、memory_get_usage()
およびの両方を試しましたが、(3 種類すべての中で最大のもの) を使用しても、pmap を介して報告される内容にはまだ膨大なものがあります。memory_get_usage(true)
memory_get_peak_usage(true)
memory_get_peak_usage(true)
より具体的にはmemory_get_peak_usage(true)
、php スクリプト内で毎分呼び出すと、1.75MB から 3.5MB の範囲の値が返されますが、 の典型的な結果は次のpmap -d PID
ようになります。
...
b7839000 4 r---- 0000000000008000 0ca:00060 libcrypt-2.11.1.so
b783a000 4 rw--- 0000000000009000 0ca:00060 libcrypt-2.11.1.so
b783b000 156 rw--- 0000000000000000 000:00000 [ anon ]
b7864000 8 rw--- 0000000000000000 000:00000 [ anon ]
b7867000 12 r-x-- 0000000000000000 0ca:00060 libgpg-error.so.0.4.0
b786a000 4 r---- 0000000000002000 0ca:00060 libgpg-error.so.0.4.0
b786b000 4 rw--- 0000000000003000 0ca:00060 libgpg-error.so.0.4.0
b786c000 4 r---- 0000000000000000 000:00000 [ anon ]
b786d000 16 rw--- 0000000000000000 000:00000 [ anon ]
b7871000 108 r-x-- 0000000000000000 0ca:00060 ld-2.11.1.so
b788c000 4 r---- 000000000001a000 0ca:00060 ld-2.11.1.so
b788d000 4 rw--- 000000000001b000 0ca:00060 ld-2.11.1.so
bffc7000 136 rw--- 0000000000000000 000:00000 [ stack ]
f57fe000 4 r-x-- 0000000000000000 000:00000 [ anon ]
mapped: 32740K writeable/private: 13116K shared: 28K
私が正しく理解していれば、プロセスによって排他的に使用されるメモリであるため、書き込み可能/プライベート図が最も関連性の高い図です。13MB 近くは、によって報告された量とはかけ離れていmemory_get_peak_usage(true)
ます。誰かが矛盾を説明できますか?