PHPコードのメモリ使用量を取得する_PHPチュートリアル

WBOY
リリース: 2016-07-13 16:57:33
オリジナル
1211 人が閲覧しました

PHP で PHP スクリプトによって使用されるメモリを取得するには、例として PHP 独自の関数memory_get_usage() を使用します。これは、現在の PHP スクリプトの実行によって占有されているメモリを確認できます。

memory_get_usage() の公式構文を見てみましょう。

1. 関数のプロトタイプ
int Memory_get_usage ([ bool $real_usage = false ] )

第二に、バージョンの互換性
PHP 4 >= 4.3.2、PHP 5

3、基本的な使い方と例


PHP 関数のmemory_get_usage() を直接使用して、システムが現在の PHP スクリプトの実行に割り当てたメモリ量を確認できます。

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

echomemory_get_usage(), '
' // 79248
; $tmp = str_repeat('http://3aj.cn/', 4000); // 135408
echomemory_get_usage(), '
';
unset($tmp);
エコーメモリ_get_usage() // 79248
; ?>

プログラムによって出力される数値単位はバイトです。これは、その時点で PHP スクリプトによって使用されるメモリです (memory_get_usage() 関数自体によって占有されるメモリを除く)。

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

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


フォーマットされたmemory_get_usage()の結果がKB単位で出力されます

配列または変数値のサイズを取得するカスタム関数
コードは次のとおりです コードをコピー

関数convert($size){

$unit=array('b','kb','mb','gb','tb','pb');

@round($size/pow(1024,($i=floor(log($size,1024))),2).' を返します。'.$unit[$i];

}

エコー変換(memory_get_usage(true));

?>


コードは次のとおりですコードをコピー 関数 array_size($arr){ ob_start();tru​​e
print_r($arr);
$mem=ob_get_contents();
ob_end_clean();
$mem=preg_replace("/n +/","",$mem);
$mem=strlen($mem);
$mem を返します;
}
$memEstimate=array_size($GLOBALS);
?>


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

使用機能が付属しています:

コードは次のとおりです コードをコピー
if (!function_exists('memory_get_usage')) {
関数memory_get_usage() {
$pid = getmypid();
(IS_WIN) {
の場合 exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output);
return preg_replace('/[^0-9]/', '', $output[5]) * 1024;
} その他 {
exec("ps -eo%mem,rss,pid | grep $pid", $output);
$output =explode(" ", $output[0]);
return $output[1] * 1024;
}
}
}
?>

別の関数の使用例:

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

//memory_get_usage();
$m1 = メモリ取得_使用量(); echo '
m1:',$m1;
$a = 'こんにちは'; $b = str_repeat($a,1000);
$m2 = メモリ取得_使用量(); echo '
m2:',$m2;
設定解除($b)

$m3 = メモリ取得_使用量(); echo '
m3:',$m3; ?>



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


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

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

技術記事 PHPでPHPスクリプトのメモリ使用量を取得するには、例としてPHP独自の関数memory_get_usage()を使用できます。次に、それを実行してみましょう...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート