2012-05-09 24 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

我不能得到真实的数字吗?当我打开一个新的套接字连接时抛出我的脚本,是否需要更多的内存? –