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

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

名前ダッチ

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

Twitterはこちら >>

関連記事

最近の記事

  1. アフィリエイト
  2. VPSサーバー
  3. ブログのネタ探し
  4. プログラミング
  5. SSLとは
  6. 常時SSL通信設定後にやっておくべきこと
  7. 常時SSL通信設定方法
  8. htaccessとは
  9. WordPress
  10. WordPress

Twitter

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

アーカイブ

PAGE TOP