Categories: PHP

PHP 記憶體目前用量、最大用量查詢教學與範例

介紹如何在 PHP 中以 memory_get_usagememory_get_peak_usage 函數查詢程式的記憶體使用量以及最大用量值。

記憶體用量

在 PHP 中若要查詢程式目前的記憶體使用量,可以使用 memory_get_usage 函數,它會傳會目前程式所使用的記憶體大小,單位為位元組(bytes)。

# 取得目前記憶體用量
$memoryUsage = memory_get_usage();
echo "記憶體用量:$memoryUsage 位元組\n";

我們可以使用 memory_get_usage 函數來觀察程式中各個階段的記憶體用量變化:

# 取得目前記憶體用量
$memoryUsage = memory_get_usage();
echo "記憶體用量:$memoryUsage 位元組\n";

# 建立變數
$myVar = str_repeat("Hello", 2000);

# 取得目前記憶體用量
$memoryUsage = memory_get_usage();
echo "記憶體用量:$memoryUsage 位元組\n";

# 移除變數
unset($myVar);

# 取得目前記憶體用量
$memoryUsage = memory_get_usage();
echo "記憶體用量:$memoryUsage 位元組\n";
記憶體用量:387896 位元組
記憶體用量:400216 位元組
記憶體用量:387928 位元組

memory_get_usage 函數預設會傳回程式已使用的記憶體用量,不包含已配置但尚未使用的部分,若要連同尚未使用的部分也納入計算,則可將參數設定為 TRUE

# 取得目前記憶體總用量(含尚未使用)
$memoryUsage = memory_get_usage(TRUE);
echo "總記憶體用量:$memoryUsage 位元組\n";

記憶體最大用量

若要取得程式執行期間記憶體的最大用量,可以使用 memory_get_peak_usage 函數

$memoryUsagePeak = memory_get_peak_usage();
echo "透過 emalloc() 所使用的記憶體最大值:$memoryUsagePeak 位元組\n";

memory_get_peak_usage 函數預設會傳回 emalloc() 配置記憶體用量的最大值,若要查詢整個 PHP 程式的記憶體用量最大值,要將第一個參數設定為 TRUE,這樣才會顯示最高的記憶體實際用量:

$memoryUsagePeak = memory_get_peak_usage(TRUE);
echo "PHP 實際所使用的記憶體最大值:$memoryUsagePeak 位元組\n";
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago