php5.2.0 メモリ管理の改善_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:57:42
オリジナル
879 人が閲覧しました

php5.2.0ではメモリ管理が大幅に改善され、場合によってはメモリが解放されない問題は解消されました。
PHP スクリプト (mem.php) をテストするには、echo N>> と sleep を使用して、ステータスを検出するためにスクリプトが特定の段階で一時停止するように制御します。

コードをコピーします コードは次のとおりです:
echo '1>>';

$o = array(); i=0;
cho '3> > ' php スクリプト名):

while true;do clear;ps au|grep -v "(vi|grep)"|grep "(mem|RSS)";完了;
以下は $/usr/local /bin/php mem.php このプロセスは 3 つの状態 (配列作成前、配列作成後、配列破棄後) で、PHP 5.1.6 と 5.2.0 を使用しています (私は使用しました)同じ設定パラメータ) を使用して、RSS (メモリ使用量の値、単位 KB) の結果をテストします。 .Php5.1.6:
3164
18076
17572

Php5.2.0:
4088
14400
4424
UNSET 配列の後、メモリはプロセスから解放されていないことがわかります。この php プロセスでは引き続き再利用できますが、システム内の他のプロセスでは使用できません。そして、5.2.0 ではメモリが大幅に解放されます。

また、最初は 5.2.0 のメモリ使用量が 5.1.6 よりも数 KB 多かったことがわかりますが、これは 5.2.0 にいくつかの新しい機能が追加されたためであり、これは正常です。
さらに、php5.2.0のメモリ割り当ても大幅に改善されており、公式の発表では、emalloc()が呼び出されるたびにmemory_limitの検出が、から要求されたメモリデータブロック(ブロック)を直接検出するように変更されました。システム。もっと詳しく知りたい友達は、自分でコードを勉強することができます。メモリ割り当ての実装が変更されたため、memory_limit でメモリ制御をより正確に制御できるようになりました。つまり、以前の PHP コードで、エラーなしでメモリ使用量がmemory_limit を超えた場合、PHP5.2.0 レポートに含まれる可能性があります。エラー。この改善のバランスをとるために、PHP5.2.0 のデフォルトのmemory_limit は以前の 8MB から 16MB に変更されました (find . -name *c -type f |xargs cat |grep memory_limit)。




http://www.bkjia.com/PHPjc/317766.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/317766.html

技術記事

php5.2.0ではメモリ管理が大幅に改善され、場合によってはメモリが解放されない問題は解消されました。 PHP スクリプト (mem.php) をテストし、echoN と sleep を使用して、スクリプトが特定の段階で一時停止するように制御します...



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!