PHP通過內建函式memory get

2022-10-06 11:30:11 字數 943 閱讀 4289

php內建函式memory_get_usage()能返回當前分配給php指令碼的記憶體量,單位是位元組(byte)。在web實際開發中,這些函式非常有用,我們可以使用它來除錯php**效能。

memory_get_usage()函式返回記憶體使用量,memory_get_peak_usage()函式返回記憶體使用峰值,getrusage()返回cup使用情況。但有一點請注意,在這些函式需要在linux上執行。

下面我們來看乙個例項:

複製** **如下:

echo '開始記憶體:'.memory_get_usag程式設計客棧e(), '';

$tmp = str_repeat(www.cppcns.com'hello', 1000);  

echo '執行後記憶體:'.memory_get_usage(), ''; 

unset($tmp);  

echo '回到正常記憶體:'.memory_get_usage();

輸出結果:

複製** **如下:

開始記憶體:147296

執行後記憶體:152456

回到正常記憶體:147296

例子中,我們使用str_repeat()將字串「hello」重複了1000遍,最終來對比前後消耗的記憶體大小。由上面的例子可以看出,要想減少記憶體的占用,可以使用unset() 函式把不再需要使用的變數刪除。類似還有mysql_free_result() 函式,當我們不再需要查詢資料得到的結果集時,可以使用釋放查詢占用的記憶體。

函式memory_get_usage()還可以有個引數,$real_usage,其值為布林值。如果設定為 true,獲取系統分配的真實記憶體尺寸。如果未設定或者設定為 false,將是 emalloc() 報告使用的記憶體量。

在實際web開發中,可www.cppcns.com以用php memory_get_usage()比較各個方法占用記憶體的高低,來選擇使用哪種占用記憶體小的方法。

PHP內建函式

獲取時間戳 時間戳是指自1970 01 01 00 00 00到現在這一瞬間的秒數。microtime true 常用於測試程式執行時間 start microtime true for i 1 i 1000 i end microtime true echo end start 時間戳格式化 ti...

PHP內建函式複習

arr a b c d print array shift arr 輸出 a str 1.php?d.com print strrchr str,return com 返回字串長度 strlen 把字串打散為陣列 str hello world lilili arr explode str 返回乙個...

PHP引數內建函式

addslashes mysql real escape string mysql escape string 都是給字串新增 過濾 單引號 雙引號 反斜線 空字元null.其中mysql escape string addslashes 可能存在寬位元組繞過問題。htmlspecialchars ...