PHP獲取記憶體使用情況

2021-07-23 04:30:29 字數 1167 閱讀 5947

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函式就可以分析程式執行時間。

現在php記憶體使用 PHP獲取記憶體使用情況

memory get usage 函式返回記憶體使用量,memory get peak usage 函式返回記憶體使用峰值,getrusage 返回cup使用情況。但有一點請注意,在這些函式需要在linux上執行。下面我們來看乙個例項 echo 開始記憶體 memory get usage tmp ...

PHP記憶體使用情況如何獲取

php內建函式memory get usage 能返回當前分配給php指令碼的記憶體量,單位是位元組 byte 程式設計客棧在web實際開發中,這些函式非常有用,我們可以使用它來除錯php 效能。memory get usage 函式返回記憶體使用量,memory get peak usage 函式...

Java 獲取記憶體使用情況

公司要求將各個裝置上傳的資料分析並且匯出到統一的乙個表中,目前在準備,資料比較多,所以需要考慮到記憶體的使用情況,經網上查詢使用,出現了以下問題。logutils.debug totalmemory runtime.getruntime totalmemory 1024 1024 m logutil...