檢視當前記憶體使用情況使用:memory_get_usage()函式。
檢視記憶體使用峰值:memory_get_peak_usage()函式。
<?php
header("Content-Type:text/html;charset=utf-8");
/**
* 格式化位元組大小
* @param number $size 位元組數
* @param string $delimiter 數字和單位分隔符
* @return string 格式化後的帶單位的大小
*/
function format_bytes($size, $delimiter = "") {
$units = array("B", "KB", "MB", "GB", "TB", "PB");
for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024;
return round($size, 2) . $delimiter ." ".$units[$i];
}
echo "記憶體初始狀態:".format_bytes(memory_get_usage());
echo "<hr/>";
echo "開始使用記憶體<br/>";
//使用記憶體
for($i = 0;$i < 100000;$i++){
$array[] = md5($i);
echo "記憶體狀態:".format_bytes(memory_get_usage())."<br/>";
unset($array[$i]);
echo "最終記憶體狀態:".format_bytes(memory_get_usage());
echo "記憶體峰值狀態:".format_bytes(memory_get_peak_usage());
執行結果:
記憶體初始狀態:65.27 KB
開始使用記憶體
記憶體狀態:12.01 MB
最終記憶體狀態:577.52 KB
記憶體峰值狀態:12.01 MB
檢視當前記憶體使用情況使用:memory_get_usage()函式。
檢視記憶體使用峰值:memory_get_peak_usage()函式。
<?php
header("Content-Type:text/html;charset=utf-8");
/**
* 格式化位元組大小
* @param number $size 位元組數
* @param string $delimiter 數字和單位分隔符
* @return string 格式化後的帶單位的大小
*/
function format_bytes($size, $delimiter = "") {
$units = array("B", "KB", "MB", "GB", "TB", "PB");
for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024;
return round($size, 2) . $delimiter ." ".$units[$i];
}
echo "記憶體初始狀態:".format_bytes(memory_get_usage());
echo "<hr/>";
echo "開始使用記憶體<br/>";
//使用記憶體
for($i = 0;$i < 100000;$i++){
$array[] = md5($i);
}
echo "記憶體狀態:".format_bytes(memory_get_usage())."<br/>";
for($i = 0;$i < 100000;$i++){
unset($array[$i]);
}
echo "最終記憶體狀態:".format_bytes(memory_get_usage());
echo "<hr/>";
echo "記憶體峰值狀態:".format_bytes(memory_get_peak_usage());
執行結果:
記憶體初始狀態:65.27 KB
開始使用記憶體
記憶體狀態:12.01 MB
最終記憶體狀態:577.52 KB
記憶體峰值狀態:12.01 MB