php 記憶體使用狀況
最近碰到了一些不明錯誤需要查詢,其中檢查了這部分就順手記錄下來php檢查記憶體使用狀況和設定記憶體上限的方法。
方法
取得記憶體使用量的方法是memory_get_usage()
$mstart = memory_get_usage(true);
//其他程式
$mend = memory_get_usage(true);
echo "開始時: {$mstart} Bytes".PHP_EOL;
echo "結束時: {$mend} Bytes".PHP_EOL;
exit;
其中設為true時為系統內分配過來的總記憶體,預設值(false)只取得已使用的記憶體
記憶體設定的方法,如果無效的話可能是主機設定的關係。
ini_get('memory_limit'); //取得目前記憶體使用上限
ini_set('memory_limit', '1024M'); //設定記憶體使用上限
參考資料
https://stackoverflow.com/questions/27474629/out-of-memory-although-memory-limit-is-large-enough
https://www.php.net/manual/en/function.memory-get-usage.php