●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)
|
※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.1,1.3.6.1.4.1. 2021.10.1.2.1,1.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といった値が得られるはずだ。
23/36 |