Load average 5000だと!?

ロードアベレージの高さと操作感って必ずしも一致しないもんでもあるけれど、そこんとこどうなのよって話。

最近はRubyやRailsやら新しい事を始めた影響で日記の更新が滞っているので、ちょっと小ネタを挟もうかと思います。

Rubyのプログラムになかなか慣れないままなので、拾ってきたベンチマークのプログラムをいろいろと弄っていたらロードアベレージだけが高くなって、レスポンスは変わらないという状態に。

プログラムのせいなのか、Rubyのせいなのか、H/Wのせいなのか。
どこまでいくのかなーと放置していたら、なんと1000を超えた!?

top - 00:37:25 up 52 min,  2 users,  load average: 1124.24, 696.17, 310.12
Tasks: 1324 total, 1217 running, 107 sleeping,   0 stopped,   0 zombie
%Cpu(s): 99.8 us,  0.2 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   3958272 total,  3811968 used,   146304 free,    24292 buffers
KiB Swap:  4104188 total,        0 used,  4104188 free.   136864 cached Mem

たけけんはまだまだ経験が浅いのですが、こんなに高いロードアベレージは初めて見ます。
と言っても、ターミナルからのレスポンスはまだまだ余裕ですね。
ロードアベレージが高い≠ユーザーが感じる負荷というなかなか奥深さを感じる状態です。

この時点でのvmstatはこんな感じで、CPU待ちだけが高い状態です。

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1007  0      0 765644  24272 136852    0    0     0     0 1049 1430 100  0  0  0  0
1012  0      0 749672  24272 136852    0    0     0     0 1035 1405 100  0  0  0  0
1017  0      0 735252  24272 136852    0    0     0     0 1043 1413 100  0  0  0  0
1022  0      0 720576  24272 136852    0    0     0     0 1030 1402 100  0  0  0  0
1027  0      0 706000  24272 136852    0    0     0     0 1036 1417 100  0  0  0  0
1032  0      0 691540  24272 136852    0    0     0     0 1043 1414 100  0  0  0  0

なんだか爆発するんじゃないかという不安に駆られますが、放置しているとロードアベレージ1300を超えたところからレスポンスが悪くなってきました。

top - 00:39:28 up 54 min,  2 users,  load average: 1304.92, 900.01, 431.16
Tasks: 1498 total, 1391 running, 107 sleeping,   0 stopped,   0 zombie
%Cpu(s): 17.8 us,  0.1 sy,  0.0 ni, 81.9 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   3958272 total,  3852140 used,   106132 free,      952 buffers
KiB Swap:  4104188 total,   577380 used,  3526808 free.     7740 cached Mem

topはこんな感じで、レスポンスが落ちた原因ですが、CPUの影響ではなくてSwapが発生したことによるものだと思います。

vmstatを見てみると、systemのCPUリソース利用率が徐々に上がってきており、スワップも進んでいます。でもってプロセス待ちがかなりのハイペースで高くなりました。
この上がりかたはすごいですね。
文面では伝えられないですが、スワップの発生と同時にHDDからあまり聞いたことのない音が鳴り始めました!!
\(^o^)/

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1341 130 810836 112396    432   4852 4872 23761  4872 23761 1614 1957 71 29  0  0  0
1241 298 844356 120884    396   4972 3487 13648  3487 13649 1616 2144 88 12  0  0  0
1269 281 847192 119872    356   4940 5471 2855  5504  2855 1473 2270 95  5  0  0  0
1291 262 849304  88796    356   4956 6240 1887  6240  1887 1464 2413 89 11  0  0  0
1290 265 937112 119640    356   4808 4161 29944  4161 29944 1663 2014 75 25  0  0  0
1253 306 936476 133456    320   4896 3689 1649  3689  1649 1354 1959 94  6  0  1  0
1272 292 932000 113400    320   4892 5367    0  5401     0 1324 2063 100  1  0  0  0

だんだんレスポンスもなくなってきて、SSH接続は新しいセッションはできないようです。
いまのvmstatはこんな感じですが、ここらが限界でしょうかね。

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1302 273 972000 103544    316   4852 4205 7033  4229  7033 1653 1818 74 26  0  0  0
1283 311 999844 107208    316   4700 4053 10245  4053 10245 1714 1961 83 17  0  0  0
1280 313 1014156 121296    312   4700 3692 5332  3757  5332 1546 2107 89 11  0  0  0

なんとかプロンプトが返ってきたので、wを叩いてみました。

 00:47:19 up  1:02,  2 users,  load average: 3104.55, 2366.64, 1301.67
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
takeken  pts/0    192.168.24.53    00:28   19:45   1:05m  0.00s /usr/sbin/httpd

なんとロードアベレージが3000を超えていました。
やばいです。そろそろタイムスリップでもおこりそうです。

くそったれなプログラムですが、何かの処理をさせるとしてボトルネックになる部分はHDDというのはまず明らかなことは分かりました。といっても何の役に立つのかは分かりませんが。
SSDならどこまでいくのかちょっとだけ気になりますね。

愉快犯が出るといやなのでプログラムは載せないですが、詳しい人ならたぶん何をやっているかは分かるのかなあという気はします。っていうかとても簡単なものです。

日記を書きながら放置していますが、どうやら3000で頭打ちのようです。

 00:58:54 up  1:13,  2 users,  load average: 3137.78, 3108.01, 2302.54
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

topが見たいのですが、なかなか応答が返ってこない・・\(゜ロ\)(/ロ゜)/

ちょっと飽きてきたので強制終了のシグナルを送ってみましたが、なかなか終了すらできないようです。
このあとでWordpressの更新が待っているのでちょっと憂鬱です。

プログラムが終わりそうにないので、この辺で終了にしますw
ついこないだHDDのカリカリする音もあまり聞かないから、たまに聞くといいなぁとか言ってた気がしますが、ガリガリガリガリうっせーです(*´ω`)
ウルセーゾコノヤローです。

とか何とか言ってるとtopが返ってきました。

top - 01:14:04 up  1:28,  2 users,  load average: 5479.75, 4309.92, 3292.97
Tasks: 3969 total, 213 running, 3752 sleeping,   0 stopped,   4 zombie
%Cpu(s): 98.1 us,  1.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem:   3958272 total,  3862696 used,    95576 free,      264 buffers
KiB Swap:  4104188 total,  2777192 used,  1326996 free.     9040 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 5409 takeken   20   0   31956   4352    600 R  37.8  0.1   0:13.34 ruby

5000だった!! こっ故障じゃないのか、カチカチ。みたいな。

ではまた近いうちに~!

( ^^) _旦~~

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です