[PHP-users 16830]Re: 使用最大メモリのログ出力の結果について

Yasuo Ohgaki yohgaki @ ohgaki.net
2003年 7月 18日 (金) 23:59:13 JST


大垣です。

Seiji Masugata wrote:
> また、この値は、ZendEngineで内部的にプログラムをパースした時に
> 利用されたメモリも含まれているのでしょうか?
> 
> それとも単純に、PHPプログラム内で実行された範囲でのメモリ使用率
> なのでしょうか?

PHPがスクリプトの実行を開始し、emalloc(PHP Cプログラムのmallocラッパ
関数)で確保されたメモリが対象になります。

例えばPostgreSQLを利用している場合、PQexec()などでメモリが割り当て
られますが、これらのメモリはカウントされません。

PHP内でもpealloc(これもCのmallocのラッパ)で割り当てられたメモリ、
例えばモジュール初期化時に利用されます、もカウントされません。

ZendEngineで内部的に利用されたメモリにはカウントされる物とされない
物があります。

したがって、--enable-memory-limitで制限できるメモリ使用量はスクリ
プトのバグによりメモリを使い果したりしないようにする意味合いが強く、
目安と考える方が良いと思います。

# あまり知られていないかも知れませんが、--enable-memory-limit
# にはオーバーヘッドがあります。それほど大きくないですが。

--
Yasuo Ohgaki



PHP-users メーリングリストの案内