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)で返されるメモリ量を超えた場合に出るエラーということになりますね。

0
この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

最近の記事

  1. 太子堂八幡神社の茅の輪
  2. システムエラー
  3. WP:WordPress(ワードプレス)
  4. ITコンサルティング
  5. トラブル
  6. WP:WordPress(ワードプレス)
  7. WP:WordPress(ワードプレス)
  8. WP:WordPress(ワードプレス)
  9. SNSシェア
  10. 開始

Twitter

ダッチ@職業ブロガー兼プログラマー
@gatsu0000

  • 今月の20日が退職日です。 でいろいろやりたいことが出てきたけど、自分にはいろいろと知識が足りてないことに気づきました。 で、本当は大っ嫌いなんですが、読書を開始しました。 何かいい本あったら教えて!エロ本以外で。
    about 2日 ago via Twitter Web App

アーカイブ

PAGE TOP