私はいつもPHPのメモリ使用量を判断してメモリリークやメモリ消費などを検出するために通常のツールを使用してきましたが、最近は次の方法を検討しました。PHPメモリとOS割り当てメモリ
echo shell_exec(sprintf('grep "VmRSS:" /proc/%d/status', getmypid()))."\r\n";
実際に使用できるもののようですが、質問がありました。 このコードは別の場所では期待される結果が得られますが、PHPよりも大きなメモリ割り当てが表示されます。まだそれは一定であり、私が期待しているものを反映しています。
次のコードは私を混乱させます。私はVmRSSをVmPEAKに置き換えました。 400メガこれはiniファイルのmax_memory設定には何の影響も与えません。通常のメモリチェックで限界を超えたことが示され、通常は50メガバイト程度の低さです私はまた、プロセスがどのように400メガバイトのデータを消費するのか理解できません。
echo shell_exec(sprintf('grep "VmPEAK:" /proc/%d/status', getmypid()))."\r\n";
私は上記のコマンドを正確に見ていますか?あらかじめ割り当てられたメモリ空間ですか?