我想知道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. 如何获得Qt的CPU使用率
- 3. 如何获得cpu的速率(top/ps)和内存的使用情况?
- 4. Android - 内存/ CPU使用率
- 5. Nuodb内存和CPU使用率高达
- 6. Elasticsearch高CPU和内存使用率
- 7. Gstreamer pipleline的CPU使用率和内存
- 8. PowerShell的内存和CPU使用率
- 9. 如何获得Apache Cordova中的CPU和内存使用情况?
- 10. SignalR CPU和内存效率
- 11. 如何配置内存和CPU使用率从C#
- 12. 如何减少mysql查询的内存和CPU使用率?
- 13. 如何显示系统的CPU和总内存使用率?
- 14. 效率内存和CPU使用率的最佳方式
- 15. CPU VS内存使用率(理论)
- 16. 如何在Linux上获得整体CPU使用率(例如57%)
- 17. 如何获取CPU使用率?
- 18. 如何获得每个线程的CPU使用率在Mac OSX
- 19. 如何获得超过2个核心的CPU使用率?
- 20. 如何在jsp上获得CPU使用率
- 21. 如何获得C中的CPU使用率?
- 22. 如何获得Linux中的总CPU使用率(C++)
- 23. 如何获得iPhone/iPad的CPU使用率?
- 24. 如何限制美洲狮内存使用量和CPU使用率
- 25. 如何扩展C程序以获得所有内核的CPU使用率
- 26. 如何在Windows上看不到内存/ CPU使用率?
- 27. CloudFoundry实例监控以及CPU使用率和内存使用率等指标
- 28. 用perfmon跟踪程序的内存和CPU使用率
- 29. 在Windows 7中更改内存和CPU使用率
- 30. mysqld性能高cpu和内存使用率
有三个值是什么? 负载平均值\t 0.48 0.76 0.43 –
第一个数字在最后一分钟计算,第二个数字在最近5分钟内计算,最后一个数字在最近15分钟内计算。这些数字决定了占用核心的数量。所以如果你有单核心,这个数字低于1.0,那么你的系统是完全的责任。所有信息在这里:http://en.wikipedia.org/wiki/Load_(computing) – neworld