Linux返回CPU使用率

时间:2012-12-18 19:43:43

标签: php jquery linux web

我目前正在为显示当前CPU使用率的网站设计图形系统,您可以在此处查看我正在进行的工作 - http://nereus.rikkuness.net/admin/cpu2.php

它正好像我现在所想的那样工作,但问题是我正在轮询CPU使用率的方式目前

sar 1 | sed -n '5p' | awk '{ print $8; }'

哪种方法可以正常工作,但需要大约一秒左右才能回复CPU使用率,这会使图表不会像我期望的那样在浏览器中更新。

对命令的任何帮助都会给予我相同的信息,但速度要快得多。

非常感谢,

史蒂夫

3 个答案:

答案 0 :(得分:1)

您只需使用sar 0即可。这将立即返回结果,而不是像使用sar 1那样等待1秒的间隔。\

请注意,这只会返回单个时间点值,因此您可能需要使用javascript来跟踪以前的值(即向数组添加新值并关闭旧值)。

答案 1 :(得分:1)

如何使用PHP的内部sys_getloadavg功能? http://php.net/manual/en/function.sys-getloadavg.php

另外,为了获得当前负载,以下几行可能就足够了:

<?php
$output = shell_exec('cat /proc/loadavg');
$loadavg = substr($output,0,strpos($output," "));
?>

答案 2 :(得分:0)

如果您可以在html5上转发,则可以使用web sockets完成任务。

  

WebSocket是一种提供全双工通信的Web技术   通过单个TCP连接的通道。 WebSocket API正在发布   由W3C标准化,并且WebSocket协议已经完成   由IETF标准化为RFC 6455。

由于您使用的是Linux,我认为这不是问题,因为Firefox和Chrome都支持它们(http://caniuse.com/#feat=websockets)。