頭を悩ませています。誰かがトラブルシューティングを手伝ってくれることを願っています。
私は、しばらくの間、以前のバージョンの Ubuntu で実行されていた Dell PowerEdge SC1435 サーバーを持っています。(13.10 サーバー x64 だったと思います)
最近、ドライブ (SSD) を再フォーマットし、Ubuntu Server 14.04.1 x64 をインストールしました。
インストール中はすべて順調に見えましたが、最初の起動時にカーネル出力の最後、つまり画面がクリアされてログオン プロンプトが表示される直前にマシンがハングしました。カーネル出力の最後には明らかなエラーはありませんでした。(「信頼性の低い CPU 温度センサーを使用していません」というメッセージがありましたが、起動するかどうかに関係なく表示されるようです)
5 分ほど待ってから強制的に再起動しました。驚いたことに、BIOS の投稿後 1 ~ 2 秒ほどでログオン プロンプトが表示されました。もう一度再起動すると、前に停止していた部分が数秒余分に停止したように見えましたが、その後ログイン画面が表示されました。もう一度再起動すると、再び高速になりました。この時点では、これは決して説明できないようなランダムな 1 回限りの不具合の 1 つだと思い、先に進みました。
いくつかのパッケージをインストールし (他のハードウェアの同じ OS バージョンにインストールされているのとまったく同じパッケージ)、apt アップグレードと dist-upgrade を実行してから再起動しました。再びハングアップしたようだったので、データセンターまで車で行き、コンソールを接続しましたが、画面は真っ白でした。強制的に再起動しました。(また、リモート再起動用に ipmi を設定し、grub recordfail を削除して、Enter キーを押すまで待たないようにしました!)
それは昨夜遅くのことでした。帰宅し、数回再起動しましたが、問題がなかったので就寝しました。今日、確認するためにもう一度再起動しましたが、またどこかでクラッシュしました。リモートで強制的に再起動しました。
この時点で、私はもう少し掘り下げ始め、すぐに本当に奇妙なことに気づきました。
top - 14:18:35 up 8 min, 1 user, load average: 1.00, 0.85, 0.45
Tasks: 148 total, 1 running, 147 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.3 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 33013620 total, 338928 used, 32674692 free, 9740 buffers
KiB Swap: 3906556 total, 0 used, 3906556 free. 47780 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 33508 2772 1404 S 0.0 0.0 0:03.82 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u16:0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.24 rcu_sched
9 root 20 0 0 0 0 S 0.0 0.0 0:00.02 rcuos/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/2
このサーバーは完全に未使用でアイドル状態ですが、1 分間の負荷平均はちょうど 1.00 です。他の値を見ると、5 分と 15 分も 1.00 に向かっているように見えるので、いずれはすべて 1.00 に達すると想定されます。(「1 実行中」は最上位のプロセスです)
これまでこのようなことは一度もありませんでしたし、起動時にクラッシュする原因が何なのかも分からないので、現時点ではこれら 2 つはおそらく関連しているのではないかと考えています。
私がやりたいのは、誤った負荷平均とクラッシュの問題の原因を特定し(できれば排除し)、解決することです。
これまでのところ、その負荷平均を生成するために何らかのリソースを待機しているプロセスを特定できませんでした。
誰かがそれを追跡するのを手伝ってくれると非常にありがたいです。
top には、ほぼ常にスリープ状態にあるすべてのプロセスが表示されます。たまに top に表示されるものもありますが、これはごく普通のことだと思います。CPU 使用率は、ほとんどの場合 100% アイドル状態を示していますが、ごくまれに 99% 程度まで低下します。
nmon はあまり表示されません。すべてがアイドル状態のように見えます。
iotop ではトラフィックがほとんど表示されません。(繰り返しますが、ディスク アクセスはごくまれに発生します)
割り込み頻度が低いようです。私が見たところ、100/秒をはるかに下回っています。
私はこれを示唆する Google の議論を数多く見ました:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
..無効。
サーバーの RAM は ECC であり、テストに合格しました。
サーバーのインストールは「最小限」(F4 オプション)で、インストール中に OpenSSH サーバーがチェックされました。その後、vim、bcache-tools、bridge-utils、qemu、software-properties-common、open-iscsi、qemu-kvm、cpu-checker、socat、ntp、nodejs などのパッケージをいくつかインストールしました。(だいたいこれだけだと思います)
bcache カーネル モジュールを無効にして削除してみましたが、効果はありませんでした。iscsi サービスを停止しましたが、効果はありませんでした。(このサーバーにはまだ何も構成されていませんが)
長くなりすぎる前にここで終わりにします。誰かがこの問題を解決するのを手伝ってくれると非常にありがたいです。
乾杯、
ジェームズ