PHP(ピー・エイチ・ピー)

PHP

【PHP】メモリ使用量を測定

memory_get_usage:PHPのスクリプトに割り当てられたメモリ量を取得

PHPでプログラムを組む際に、メモリをどのくらい使っているのか知りたい場合があります。

その場合には、memory_get_usage()を使って調べることが出来ます。

memory_get_usage()は、現在のPHPスクリプトに対して割り当てられたメモリの量を返してきます。
そこで、以下のようなコードで、どのくらいのメモリを使っているかを調べることができます。
※メモリ容量をバイト単位で返してきます。

【使用例】
<?php

$s = memory_get_usage();

$a = "";
for($i=0; $i<10000; $i++){
$a .= $i;
}

$c = memory_get_usage();

//メモリ使用量
echo ($c - $s) . "バイト";

?>

単位はバイトなので、
KBで出力したい場合には「1024」で、
MBで出力したい場合には「(1024 * 1024)」で、
割ってください。

【使用例】
<?php

$s = memory_get_usage();

$a = "";
for($i=0; $i<10000; $i++){
$a .= $i;
}

$c = memory_get_usage();

//メモリ使用量
echo ( ($c - $s) / 1024 ) . "KB";
echo ( ($c - $s) / (1024 * 1024) ) . "MB";

?>

かなりざっくりとしたサンプルコードですが、
このようにしてメモリの使用量を調べることができます。

パラメータ:real_usage

こちらの関数には、パラメータとして「real_usage」が用意されています。

デフォルトでは、FALSEに設定されているみたいですが、
TRUEを設定すると、システムから割り当てられている実際のメモリサイズが返されるようです。
[ PHP マニュアル ]

memory_get_usage(TRUE) => システム上から割り当てられている容量、つまり、あらかじめ確保されているメモリ容量
memory_get_usage(FALSE) => スクリプトが実際に使用しているメモリ容量
ということになります。

つまり、
php.iniやini_setで設定した「memory_limit」のメモリ上限が、
memory_get_usage(TRUE)で返されるメモリ量ということになります。

つまり、
割り当てられたメモリ容量を超えると、
「Fatal error: Allowed memory size of ~」というエラーが出ますが、
memory_get_usage(TRUE)で返されるメモリ量を超えた場合に出るエラーということになりますね。

WordPress短期学習プログラム

関連記事

  1. Database(DB:データベース)

    PHP

    【phpPgAdmin】データ型に「integer」を指定

    phpPgAdminの管理画面から、データ型に「integer」を…

  2. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】60進数(度分秒)による座標→10進数に変換

    弊社は不動産会社のホームページをメインに作成しているので、…

  3. PHP(ピー・エイチ・ピー)

    PHP

    PHPで日付けを扱う

    【PHP】date()とstrtotim()で日付を処理…

  4. PHP(ピー・エイチ・ピー)

    PHP

    array_multisort()関数を使って多次元配列をソートしてみる【PHP】

    角丸ボタン-L配列をソートする時、例えば、$arr_d…

  5. Security(セキュリティ)

    PHP

    PHP脆弱性対応:フォームのセキュリティー対策 入力値の妥当性チェック

    前回のXSS脆弱性対策(セキュリティー対策)の続きで、今回は入力値…

  6. PHP(ピー・エイチ・ピー)

    PHP

    PHPで切り捨て、切り上げ、四捨五入

    プログラミングをしている時に、何らからの計算処理をすると小数点以下…

最近の記事

  1. Technology-Connection-Net
  2. ドメインにハイフンを使うのは日本人だけ?
  3. SSL(HTTPS)
  4. ドメインについて
  5. WP:WordPress(ワードプレス)
  6. ドメイン(domain)
  7. JPドメイン
  8. 高速(スピード)
  9. ブログアクセス
  10. 高速(スピード)
PAGE TOP