檢視頁面執行php占用記憶體情況

2021-10-03 12:08:18 字數 1334 閱讀 7280

文章目錄

memory_get_usage

使用方法

題外話今天頭腦一熱,想看一下頁面在執行的過程中占用了多少記憶體,我也不知道這樣做的目的是什麼,可能是出於我的慣性思維吧。不過這樣做也不是完全沒用,

你可以清楚的知道哪些頁面占用的記憶體比較多,特別是對於使用共用主機的**,一般空間商都會限制每個**的資源占用情況的(包括cpu和記憶體)。萬一在我

們不知道的情況下,經常占用太多的記憶體,你願意,空間商可不同意了。當然這種情況是很少出現的。

memory_get_usage

php提供了乙個檢視分配的記憶體大小的函式memory_get_usage,原型如下

int memory_get_usage ([ bool $real_usage = false ] )

$real_usage為可選引數,預設為false(即不包括memory_get_usage本身占用的記憶體),memory_get_usage(true)可檢視包括memory_get_usage在內的記憶體占用情況。

該函式預設返回的是占用記憶體的位元組數,我們可以通過除以1024來以kb為單位,再除以1024以mb為單位。

使用方法

對於wordpress,我們只需要在主題資料夾下的footer.php檔案呼叫memory_get_usage函式即可

<?php printf(『 memory usage: %01.2f mb』, memory_get_usage()/1024/1024); ?>

該語句的輸出以mb為單位,小數點後保留2位。具體效果可以參看本站的底部。

題外話當然,如果你想做乙個詳細的測試,可以在頁面**執行之前、模板呼叫之前以及頁面**執行完畢之後分別呼叫該函式以做對比,以下是我做的測試:

一、在頁面**執行之前呼叫memory_get_usage,即在根目錄下的index.php檔案的最開始部分加入上面的**,結果在0.3m左右。

二、在模板呼叫之前,即在主題資料夾下的header.php檔案的最開始部分呼叫memory_get_usage,結果在11m左右。說明wordpress在呼叫模板之前已經載入了大量的資料。

三、在頁面**執行完畢之後,即在主題資料夾下的footer.php檔案的最後部分呼叫memory_get_usage,結果因頁面的不同而不

同,不過也都差不多在12m以下。說明主題本身的php呼叫沒有占用多少記憶體。如果這個結果很高的話,就要檢查一下你的主題檔案了。

以上結果因為主機的不同而不同,因wordpress的不同而不同,因主題的不同而不同,因各種因素的不同而不同……僅做參考。

另外,如果你想測試某段**執行後的記憶體使用情況,可以在**執行之前和執行之後分別呼叫memory_get_usage,從而可以看出那段**對記憶體的影響。

檢視php fpm記憶體占用情況

1 檢視每個php fpm占用的記憶體大小 ps ylc php fpm sort rss2.檢視php fpm在你的機器上的平均記憶體占用 ps no headers o rss,cmd c php fpm awk end pm dynamic 對於專用伺服器,pm可以設定為static。如何控制...

linux檢視記憶體占用情況

輸入 top pid 程序的id user 程序所有者 pr 程序的優先級別,越小越優先被執行 ninice 值 virt 程序占用的虛擬記憶體 res 程序占用的物理記憶體 shr 程序使用的共享記憶體 s 程序的狀態。s表示休眠,r表示正在執行,z表示僵死狀態,n表示該程序優先值為負數 cpu ...

linux檢視記憶體占用情況

輸入 top pid 程序的id user 程序所有者 pr 程序的優先級別,越小越優先被執行 ninice 值 virt 程序占用的虛擬記憶體 res 程序占用的物理記憶體 shr 程序使用的共享記憶體 s 程序的狀態。s表示休眠,r表示正在執行,z表示僵死狀態,n表示該程序優先值為負數 cpu ...