[請益] 取得CPU使用率

看板PHP作者 (聽某嘴大富貴)時間15年前 (2010/03/24 15:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
因為要在Windows上要取得CPU的使用率 故參考phpSysInfo(http://phpsysinfo.sourceforge.net/) 網頁部份透過jQuery每秒取得一次CPU使用率 經過長時間觀察發現httpd消耗的記憶體會慢慢增加 把這個部分的javascript code註解掉則不會 因為HTTP Request的部分跟一般沒什麼不同 所以懷疑是不是PHP使用new COM()的關係?? 用了unset似乎也沒有用(記憶體還是會上升) 還請板上的大大指導 謝謝 PHP Source Code: function loadavg () { $objLocator = new COM("WbemScripting.SWbemLocator"); $wmi = $objLocator->ConnectServer(); $buffer = _GetWMI( $wmi , "Win32_Processor", array( "LoadPercentage" ) ); $cpuload = array(); for( $i = 0; $i < count( $buffer ); $i++ ) { $cpuload['avg'][] = $buffer[$i]["LoadPercentage"]; } unset($objLocator); return $cpuload['avg']; } function _GetWMI($wmi, $strClass, $strValue = array() ) { $objWEBM = $wmi->Get($strClass); if( PHP_VERSION < 5 ) { $objProp = $objWEBM->Properties_; $arrProp = $objProp->Next($objProp->Count); $objWEBMCol = $objWEBM->Instances_(); $arrWEBMCol = $objWEBMCol->Next($objWEBMCol->Count); } else { $arrProp = $objWEBM->Properties_; $arrWEBMCol = $objWEBM->Instances_(); } foreach($arrWEBMCol as $objItem) { @reset($arrProp); $arrInstance = array(); foreach($arrProp as $propItem) { eval("\$value = \$objItem->" .$propItem->Name .";"); if( empty( $strValue ) ) { $arrInstance[$propItem->Name] = trim($value); } else { if( in_array( $propItem->Name, $strValue ) ) { $arrInstance[$propItem->Name] = trim($value); } } } $arrData[] = $arrInstance; } unset($objWEBM); return $arrData; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.61.85
文章代碼(AID): #1BgRyuOy (PHP)
討論串 (同標題文章)
文章代碼(AID): #1BgRyuOy (PHP)