パソコンにとっての心臓部であるCPUを検知することで、サーバーの状態を把握する事は非常に有効です。
人間が心臓に負荷がかかると、息切れがして立っていられなくなるほどの疲労感になりますが、パソコンも同じでCPU使用率が100%に近くなると、ハードウェアの放熱も増え、処理速度も遅くなりがちになります。
CPUをあるだけ一杯使うというのではなく、常に余裕を持って使っていく事が、サーバー運用において、安定運用ができるという事なんですね。
ただし、どうしても瞬間的に負荷が増える時も発生するのですが、毎日定期的に発生しているようであれば、その期間の前後は、処理不可を抑えるように、サーバー数を増やしたり、処理を軽減するようなプロセスに切り替えるなどして、より安定運用できるように管渠言う変更をしていくのが、健全なサーバー運用と言えるでしょう。
今回は、そんな健康運用の為の健康診断としてのCPU検知を行ってみましょう。
cpuの値は"vmstat"で簡単に取得できる
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 5572 92072 204680 1300848 0 0 4 2 7 28 0 0 99 0 0
サーバーターミナルで"vmstat"を実行するだけで、メモリやCPUの状態が確認できます。
CPUの箇所は、"us sy id wa st"という値が表示されていて、内容は以下のとおりです。
us | カーネルコード以外の実行に使用した時間 |
sy | カーネルコードの実行に使用した時間) |
id | アイドル時間(率) |
wa | 待ち時間 |
st | 仮想に使用した時間 |
実際のCPUの使用率は、"100% - id(アイドル率)"で考えるのがいいでしょう。
上記ログの場合は、id=99なので使用率は1%ということになります。
5分おきにこの値を計測してみると、1日の間で、度のタイミングで負荷が増しているかがわかるでしょう。
エクセルなどでグラフ表示してみると、サーバーの負荷傾向が目に見えて分かるので、その後の対策が立てやすくなるでしょう。
0 件のコメント:
コメントを投稿