ホームページ バックエンド開発 PHPチュートリアル PHPコードのメモリ使用量を取得する_PHPチュートリアル

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

Jul 13, 2016 pm 04:57 PM
php コード 使用 メモリ 占める できる 存在する 状態 私たち 使用 脚本 得る 得る 欲しい

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()を使用できます。次に、それを実行してみましょう...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

関係者によると、サムスン電子とSKハイニックスは2026年以降に積層型モバイルメモリを商品化する予定 関係者によると、サムスン電子とSKハイニックスは2026年以降に積層型モバイルメモリを商品化する予定 Sep 03, 2024 pm 02:15 PM

9月3日の当ウェブサイトのニュースによると、韓国メディアetnewsは昨日(現地時間)、サムスン電子とSKハイニックスの「HBM類似」積層構造モバイルメモリ製品が2026年以降に商品化されると報じた。関係者によると、韓国のメモリ大手2社はスタック型モバイルメモリを将来の重要な収益源と考えており、エンドサイドAIに電力を供給するために「HBMのようなメモリ」をスマートフォン、タブレット、ラップトップに拡張する計画だという。このサイトの以前のレポートによると、Samsung Electronics の製品は LPwide I/O メモリと呼ばれ、SK Hynix はこのテクノロジーを VFO と呼んでいます。両社はほぼ同じ技術的ルート、つまりファンアウト パッケージングと垂直チャネルを組み合わせたものを使用しました。 Samsung Electronics の LPwide I/O メモリのビット幅は 512

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles