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

Tags : php