この特集のトップページへ
この回のトップページへ

load

 load行を設定すると,システムのロードアベレージを調べることができる。ロードアベレージとは,簡単にいうと,CPUの稼働率のことで,1.00以下であれば滞りなくプロセスが実行されているということを,1.00以上であれば,負荷が重く,いくつかのプロセスの実行に遅延が生じていることを示す。

 load行の設定書式は次の通りだ。

load 1分間の平均 5分間の平均 15分間の平均

 それぞれの平均には,エラー扱いとしたいアベレージの値を指定する。5分間の平均15分間の平均については省略してもかまわない。平均を省略したときには12が設定されたものとみなされる。

 デフォルトのload行の設定は,次のようになっている。

load 12 14 14

 この設定は,次のいずれかのときにエラー扱いとすることを示す。

  • 1分間のロードアベレージの平均が12を越えたとき
  • 5分間のロードアベレージの平均が14を越えたとき
  • 15分間のロードアベレージの平均が14を越えたとき

 一般にこの設定は,かなりの可負荷がかかっている状況であり,普通,ロードアベレージが5を越えると,かなりシステムが重くなったと感ずる。そのため,この設定値は,もう少し小さな値に設定しておいたほうがよいかも知れない。

 load行で設定したロードアベレージの値は,laTableサブツリー(1.3.6.1.4.1.2021.10)に配列の形で含まれる(Table 13)。

Table 13 laTableサブツリー(1.3.6.1.4.1.2021.10
OID 1.3.6.1.4.1.2021.10.1
サブツリー名 laEntry
用途 配下にロードアベレージ情報を格納する階層ツリー。値はない
OID 1.3.6.1.4.1.2021.10.1.1.i
サブツリー名 laIndex
用途 インデックス番号。1分平均値情報には1,5分平均値情報には2,15分平均情報には3がそれぞれ割り当てられる。iの値と同じ
OID 1.3.6.1.4.1.2021.10.1.2.i
サブツリー名 laNames
用途 監視名。1分平均値情報には“Load-1”,5分平均値情報には“Load-5”,15分平均値情報には“Load-15”がそれぞれ格納される
OID 1.3.6.1.4.1.2021.10.1.3.i
サブツリー名 laLoad
用途 ロードアベレージ値を文字列として表現したもの
OID 1.3.6.1.4.1.2021.10.1.4.i
サブツリー名 laConfig
用途 load行で設定されたエラー扱いとする平均値
OID 1.3.6.1.4.1.2021.10.1.5i
サブツリー名 laLoadInt
用途 laLoadを百分率で示したもの
OID 1.3.6.1.4.1.2021.10.1.6.i
サブツリー名 laLoadFloat
用途 laLoadを小数値として示したもの
OID 1.3.6.1.4.1.2021.10.1.100.i
サブツリー名 laLoadErrorFlag
用途 エラーフラグ。設定されたロードアベレージの平均値を越えているときには1,そうでなければ0が格納される
OID 1.3.6.1.4.1.2021.10.1.101.i
サブツリー名 laErrMessage
用途 laLoadErrorFlagが1であるときのエラーメッセージ
iはインデックス番号。1分間の平均値が1,5分間の平均値が2,15分間の平均値が3。

 laTableサブツリーは,1分間の平均値,5分間の平均値,15分間の平均値に,それぞれ1,2,3というインデックス番号が割り当てられ,配列のように格納される。たとえば1分間ロードアベレージに関する情報は1.3.6.1.4.1.2021.10.1.1.11.3.6.1.4.1. 2021.10.1.2.11.3.6.1.4.1.2021.10.1.3.1,…などに格納されている。

 1分間の平均ロードアベレージがload行で設定されたロードアベレージの平均値を越えたときには,1.3.6.1.4.1.2021.10.1.100.1に1が設定され,エラーメッセージが1.3.6.1.4.1.2021.10.101.1に設定される。5分間や15分間のロードアベレージに関しても同様で,5分間のロードアベレージが設定平均値を超えている場合には1.3.6.1.4.1.2021.10.1.100.2が,15分間のロードアベレージが設定平均値を越えている場合には1.3.6.1.4.1.2021.10.1.100.3が,それぞれ1に設定される。これらの情報をSNMPマネージャを使って監視すれば,システムの負荷状態を知ることができる。

 参考までにsnmpwalkコマンドを使って,laTableサブツリー(1.3.6.1.4.1.2021.10)以下を参照したものを以下に示す。

$ snmpwalk localhost private .1.3.6.1.4.1.2021.10
enterprises.ucdavis.laTable.laEntry.laIndex.1 = 1
enterprises.ucdavis.laTable.laEntry.laIndex.2 = 2
enterprises.ucdavis.laTable.laEntry.laIndex.3 = 3
enterprises.ucdavis.laTable.laEntry.laNames.1 = Load-1
enterprises.ucdavis.laTable.laEntry.laNames.2 = Load-5
enterprises.ucdavis.laTable.laEntry.laNames.3 = Load-15
enterprises.ucdavis.laTable.laEntry.laLoad.1 = 0.00
enterprises.ucdavis.laTable.laEntry.laLoad.2 = 0.00
enterprises.ucdavis.laTable.laEntry.laLoad.3 = 0.00
enterprises.ucdavis.laTable.laEntry.laConfig.1 = 12.00
enterprises.ucdavis.laTable.laEntry.laConfig.2 = 14.00
enterprises.ucdavis.laTable.laEntry.laConfig.3 = 14.00
enterprises.ucdavis.laTable.laEntry.laLoadInt.1 = 0
enterprises.ucdavis.laTable.laEntry.laLoadInt.2 = 0
enterprises.ucdavis.laTable.laEntry.laLoadInt.3 = 0
enterprises.ucdavis.laTable.laEntry.laLoadFloat.1 = Opaque: Float: 0.000000
enterprises.ucdavis.laTable.laEntry.laLoadFloat.2 = Opaque: Float: 0.000000
enterprises.ucdavis.laTable.laEntry.laLoadFloat.3 = Opaque: Float: 0.000000
enterprises.ucdavis.laTable.laEntry.laErrorFlag.1 = 0
enterprises.ucdavis.laTable.laEntry.laErrorFlag.2 = 0
enterprises.ucdavis.laTable.laEntry.laErrorFlag.3 = 0
enterprises.ucdavis.laTable.laEntry.laErrMessage.1 =
enterprises.ucdavis.laTable.laEntry.laErrMessage.2 =
enterprises.ucdavis.laTable.laEntry.laErrMessage.3 =

 上の実行結果は,ほとんど負荷がないホスト上で実行したものだ。そのため,すべてのロードアベレージ値は0になっている。もう少し負荷がかかっているホストで実行すると,0.3とか0.5といった値が得られるはずだ。

PREV 23/36 NEXT