我想知道php中的內存和CPU使用情況,因爲我使用的是cronejobs,有時CPU超載,所以在這種情況下,我不想啓動更多的進程,我只是想跳過這個cron。如何獲得CPU和內存使用率
回答
我認爲更好的辦法是讓負載avarage,因爲它不僅取決於CPU,但硬盤的速度也。
這裏是一個DOC:http://php.net/manual/en/function.sys-getloadavg.php
在這個圖書館看看http://phpsysinfo.sourceforge.net/
演示:http://phpsysinfo.sourceforge.net/phpsysinfo/index.php?disp=dynamic
編輯:這是斯蒂芬的評論拍攝。我把它放在這裏,以便讓人們有足夠的閱讀時間。
只是說明:這個庫不是太活潑。我找不到 只是返回CPU或只是RAM,它返回一切,硬件列表, 網絡統計信息,高清使用情況,操作系統信息,幾乎所有你能想到的東西 。這需要大約4秒鐘才能完成,因此如果您想要使用ajax或 不斷更新值,那麼它可能不是 最佳選項。
只是注意:這個庫不太活潑。我無法找到一種方法來返回CPU或只是RAM,它會返回一切,硬件列表,網絡狀態,高清使用情況,操作系統信息,幾乎所有你能想到的。這需要大約4秒鐘才能完成,因此如果您想要使用ajax或類似的東西不斷更新值,它可能不是最好的選擇。 –
@Stephen感謝Stephen的領導。我在我的回答中引用了您的評論。以防萬一有人會錯過它。 –
最近我有一些問題,以便獲得CPU的負荷,我覺得分享。
這裏是我的解決方案巫幫我出:
我的情況:
我已經使用Zend框架1.2建立監測應用程序,我希望得到的CPU負載,並顯示在頁面上。做一些研究,我發現我可以使用COM對象和查詢贏OS使用WMI後,所以我把這些代碼到我的初始化函數:
/* Initialize action controller here */
$this->wmi = new COM('winmgmts:{impersonationLevel=impersonate}//./root/cimv2');
if (!is_object($this->wmi)) {
throw new GetInfoException('This needs access to WMI. Please enable DCOM in php.ini and allow the current user to access the WMI DCOM object.');
}
- 你可以任何你想要使用它,我已經用它在init函數中使用Zend結構。
而且我添加了一個Action和一個函數來使用該wmi,並在任何時候通過調用該函數來獲取cpu加載。
public function cpuloadAction()
{
echo json_encode($this->getLoad());
exit();
}
private function getLoad() {
// Time?
if (!empty($this->settings['timer']))
$t = new LinfoTimerStart('Load Averages');
$load = array();
foreach ($this->wmi->ExecQuery("SELECT LoadPercentage FROM Win32_Processor") as $cpu) {
$load[] = $cpu->LoadPercentage;
}
//return round(array_sum($load)/count($load), 2) . "%";
return (int)round(array_sum($load)/count($load), 2);
}
- 怎麼一回事,因爲我什麼的實時數據,我把這些代碼的功能,否則,你可以在它單一的非面向對象的PHP文件中編寫。
希望它有幫助。
How to get Memory and CPU usage in PHP
完美簡單的例子。
- 在procentage%存儲器($ MEM [2]/1000用於MB使用的內存)
function get_server_memory_usage(){
$free = shell_exec('free');
$free = (string)trim($free);
$free_arr = explode("\n", $free);
$mem = explode(" ", $free_arr[1]);
$mem = array_filter($mem);
$mem = array_merge($mem);
$memory_usage = $mem[2]/$mem[1]*100;
return $memory_usage;
}
- CPU在procentage%
function get_server_cpu_usage(){
$load = sys_getloadavg();
return $load[0];
}
如果你用一個例子來闡述你的答案,這將是非常好的。 – Sanoob
- 1. 從閃存中獲取CPU使用率和CPU內存消耗?
- 2. 高CPU負載,但低CPU使用率和內存使用率
- 3. 如何獲得Qt的CPU使用率
- 4. 如何獲得Java外部進程的內存和CPU使用率?
- 5. 如何獲得cpu的速率(top/ps)和內存的使用情況?
- 6. Android - 內存/ CPU使用率
- 7. Nuodb內存和CPU使用率高達
- 8. 對內存和CPU使用率
- 9. Elasticsearch高CPU和內存使用率
- 10. PowerShell的內存和CPU使用率
- 11. Gstreamer pipleline的CPU使用率和內存
- 12. 如何獲得xen中的cpu內核使用率?
- 13. 如何獲得Apache Cordova中的CPU和內存使用情況?
- 14. 使用PID獲取內存和CPU使用率?
- 15. SignalR CPU和內存效率
- 16. 如何限制節點進程的CPU和內存使用率
- 17. 如何顯示系統的CPU和總內存使用率?
- 18. 如何減少mysql查詢的內存和CPU使用率?
- 19. 如何配置內存和CPU使用率從C#
- 20. KSH腳本來獲得CPU使用率
- 21. 效率內存和CPU使用率的最佳方式
- 22. 如何在c#中獲得CPU頻率
- 23. CPU VS內存使用率(理論)
- 24. 如何使用Netapp API和Java來獲得CPU和內存的性能?
- 25. 如何獲得Windows數據,如CPU使用率等?
- 26. 如何使用Javascript或Java獲得CPU利用率
- 27. 如何使用java程序獲取PID的內存,CPU使用率?
- 28. 如何獲取CPU使用率?
- 29. 如何在沒有PerformanceCounter的情況下獲得可用內存和CPU使用率?
- 30. 如何獲得Linux中的總CPU使用率(C++)
有三個值是什麼? 負載平均值\t 0.48 0.76 0.43 –
第一個數字在最後一分鐘計算,第二個數字在最近5分鐘內計算,最後一個數字在最近15分鐘內計算。這些數字決定了佔用核心的數量。所以如果你有單核心,這個數字低於1.0,那麼你的系統是完全的責任。所有信息在這裏:http://en.wikipedia.org/wiki/Load_(computing) – neworld