獲取php指令碼的記憶體量

2021-09-29 18:22:13 字數 1149 閱讀 2155

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

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

下面我們來看乙個例項:

複製**

**如下:

echo '開始記憶體:'.memory_get_usage(), ''; 

$tmp = str_repeat('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開發中,可以用php memory_get_usage()比較各個方法占用記憶體的高低,來選擇使用哪種占用記憶體小的方法。

函式memory_get_usage()返回的位元組數(單位為 byte(s))。下面這個自定義函式將位元組數轉換成mb更容易閱讀:

複製**

**如下:

function memory_usage()  

常用的除錯檢測php**效能的方法有:

memory_get_usage可以分析記憶體占用空間。

用microtime函式就可以分析程式執行時間。

相同的記憶體量

變數的值儲存在計算機記憶體中未指定的位置為0和1的地方。我們的程式不需要知道確切的位置的變數儲存在 它可以簡單地把它的名字。是什麼程式需要注意的是儲存在變數的資料型別。乙個簡單的 整數的儲存是儲存 乙個字母或乙個 大的浮點數是 不一樣的 雖然 他們都用 0和1表示 他們並不在同乙個 解釋,在許多情況...

php獲取總共記憶體 php統計當前指令碼記憶體消耗

memory get usage 返回當前分配給你的 php 指令碼的記憶體量,單位是位元組 byte 1kb 1024byte。引數 true false 如果設定為 true memory get usage true 獲取系統分配總的記憶體尺寸,包括未使用的頁。如果未設定或者設定為 false...

php獲取指令碼執行的引數

php獲取指令碼執行的引數 在看php文件到預定義變數時碰到了 argc和 ar 順手記錄下 arg getopt d n 只接收d n之後的引數 num arg n arg n 365 是得到的n後面的引數 這種屬於短引數,對於date 等長串的 從命令列引數列表中獲取選項 還有預定義的變數也可以...