ホームページ  >  記事  >  バックエンド開発  >  PHP プログラムが占有するメモリの量を知る方法 (memory_get_usage)_PHP チュートリアル

PHP プログラムが占有するメモリの量を知る方法 (memory_get_usage)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:16:25797ブラウズ

以下は使用例です:

コードをコピー コードは次のとおりです:

echomemory_get_usage(), '
' // 313864
$tmp = str_repeat('http: //www.nowmagic.net/', 4000);
echomemory_get_usage(), '
' // 406048
unset($tmp); // 313952
?> ;

上記のプログラムの後のコメントは、その時点で PHP スクリプトによって使用されるメモリ (memory_get_usage() によって占有されるメモリを除く) を表します (単位はバイト)。機能自体)。

上記の例からわかるように、メモリ使用量を減らすために、PHP unset() 関数を使用して、不要になった変数を削除できます。同様のものには、PHP の mysql_free_result() 関数が含まれます。この関数は、データベースのクエリによって取得された不要になった結果セットをクリアして、より多くの利用可能なメモリを取得できるようにします。

PHPのmemory_get_usage()関数は、値がブール値であるパラメータ$real_usageを持つこともできます。デフォルトは FALSE で、取得されたメモリ使用量にはこの関数 (PHP メモリ マネージャー) が占有するメモリは含まれません。TRUE に設定すると、取得されたメモリにはこの関数 (PHP メモリ マネージャー) が占有するメモリは含まれません。

そのため、実際のプログラミングでは、memory_get_usage() 関数を使用して各メソッドが占有するメモリを比較し、どのメソッドがより少ないメモリを使用するかを選択できます。

使用法関数を投稿します:

コードをコピーします コードは次のとおりです:
if (!function_exists('memory_get_usage'))
{
/**
+------------------------------------------------ ----------
* メモリ使用量を取得する
+-------------------------------- - ------------------------
* @return integer
+--------------- - --------------------------------------
*/
functionmemory_get_usage( )
{
$pid = getmypid();
if (IS_WIN)
{
exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output); [^0- 9]/', '', $output[5]) * 1024;
}
else
{
exec("ps -eo%mem,rss,pid | grep $pid", $output);
$output =explode(" ", $output[0]);
return $output[1] * 1024;
}
}
}


コードをコピーします

コードは次のとおりです:
//memory_get_usage(); echo '
,$m1;//58096 $a = 'こんにちは';
$b = str_repeat($a,1000);
$m2 =
echo '
,$m2;//63424
unset($b);
$m3 = メモリ_get_usage() ;
エコー '
,$m3;//58456

;



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

www.bkjia.com
tru​​e

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

以下は使用例です。 次のようにコードをコピーします。 ?php echomemory_get_usage(), 'br /' // 313864 $tmp = str_repeat('http://www.nowmagic.net/', 4000); echomemory_get_usage() , 'b...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。