PHPでロードアベレージを取得する方法

Unix系サーバの負荷状態を示す値としてロードアベレージ(LoadAverage)があります。この値は、実行可能なプロセス数の平均値で、1分間平均、5分間平均、15分間平均の3つの値が取得できます。実行可能なプロセスというのは、CPUが今すぐに対応できる(しなければならない)仕事のことで、この数が増えるとサーバのレスポンスは悪くなります。弊社のサーバでは、Zabbixを利用してサーバ監視をしているのですが、PHP上で直接サーバ負荷を確認したいという要望がでてきたので、ロードアベレージを取得するプログラムを作成しました

ソースコード

<?php
$uptime = exec(‘uptime’);
$uptimeArray = explode(‘average:’, $uptime);
$uptime = $uptimeArray[1];
$uptimeArray = explode(‘,’, $uptime);
var_dump($uptimeArray);

実行結果

array(3) {
[0]=>
string(5) ” 0.49″
[1]=>
string(5) ” 0.92″
[2]=>
string(5) ” 0.87″
}

このプログラムを定期的に実行し、SmartBrainの負荷の推移を記録することになる予定です。

追記
関数sys_getloadavg()を使って同様の値を取得できました。PHPの標準関数を使ったほうが安全なので、sys_getloadavg関数を使うことになりそうです。

Facebookページもよろしくお願いします

CATEGORIES eラーニング, SmartBrain, 北海道ラボby.a.takeuchi1 Comments2010.09.07
TAGS ,  
記事の投稿者
a.takeuchi a

Facebook comments:

コメントをどうぞ

Eメールアドレスは公開されません。

Trackback URL

管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ