2012-05-09 40 views
0

我正在構建一個php服務器,並且記錄服務器正在執行的每個命令。 在我的日誌裏面,我添加了一個列,在每個日誌中顯示在這一步中使用memory_get_usage(true)函數使用的內存。由於某種原因,它總是向我展示256(我已經將功能劃分爲1024),儘管我連接到sql server,添加了新的對象實例,運行循環等等。php memory_get_usage(true)

這是爲什麼?

這是我的日誌代碼:

 function serverLog($status, $message) 
{  
    global $logFile, $currentTime; 
    $log = "\n" . date("d/m/Y", $currentTime) . "|" . date("H:i:s", $currentTime). "|" . $status . "|" . $message . "|" . (memory_get_usage(true)/1024); 
    $fp = fopen($logFile, "a+") or die ("can't open file"); 
    fwrite($fp, utf8_encode($log)); 
    fclose($fp); 
} 

回答

1

memory_get_usage(true)顯示了PHP引擎,只有當您的腳本需要更多的內存分配變化的內存量。

0

memory_get_usage(true)將顯示由php(引擎)分配的內存量,而不是腳本實際使用的內存量。你的腳本可能永遠不會超過256個,這就是你看到這個數字的原因。

+0

我不能得到真實的數字嗎?當我打開一個新的套接字連接時拋出我的腳本,是否需要更多的內存? –