2

私は現在、現在の CPU 使用率を示す Web サイト用のグラフ システムを設計しています。ここで進行中の作業を確認できます - http://nereus.rikkuness.net/admin/cpu2.php

現時点では希望どおりに動作していますが、問題は、現在 CPU 使用率をポーリングしている方法です。

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

これは正常に動作しますが、CPU 使用率で応答するのに約 1 秒ほどかかります。これにより、ブラウザーで期待されるようにグラフが更新されません。

私に同じ情報を提供するが、はるかに高速なコマンドに関するヘルプは、非常に高く評価されます。

どうもありがとう、

スティーブ

4

3 に答える 3

1

を簡単に使用できますsar 0sar 1これにより、 .\のように 1 秒間隔で待機する代わりに、すぐに結果が返されます。

これは単一の時点の値のみを返すため、javascript を使用して以前の値を追跡する必要があることに注意してください (つまり、新しい値を配列に追加し、古い値をポップオフします)。

于 2012-12-18T19:49:45.107 に答える
1

sys_getloadavgPHPの内部関数を使ってみてはどうでしょうか? http://php.net/manual/en/function.sys-getloadavg.php

さらに、現在の負荷を取得するには、次の行に沿って何かを実行するだけで十分です。

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

于 2012-12-18T19:50:49.100 に答える
0

html5 でリレーできる場合は、タスクにWeb ソケットを使用できます。

WebSocket は、単一の TCP 接続を介して全二重通信チャネルを提供する Web テクノロジです。WebSocket API は W3C によって標準化されており、WebSocket プロトコルは IETF によって RFC 6455 として標準化されています。

Linux を使用しているので、Firefox と chrome の両方がそれらをサポートしているので、問題ではないと思います (http://caniuse.com/#feat=websockets)。

于 2012-12-18T19:48:25.733 に答える