アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

サーバー謎の再起動サーガ

こんにちは!、chibaです!
この記事はアクトインディ Advent Calendar 2016 17日目です。

今回は、新規に導入したサーバーの謎のハングアップの原因を追い掛けた話です。

昨年度末に弊社のdockerが急増していることもあり、メモリ容量が大きく速いマシンを導入しようということになりました。
メモリ容量が最重要ポイントだったので、天下のドスパラさんの128GiBメモリマシン:raytrek 128を購入。
docker環境もセットアップして稼動を開始しました。

謎の再起動発覚

セットアップ当初は色々環境を整えるので、連続稼動することもなく気付くこともなかったのですが、急にマシンが再起動していることに気付きました。
マシンは共用の実験機として使われていたので、誰かが再起動しちゃったのかなあ、位で流していましたが、どうも監視してみると1週間位すると再起動してしまう様子。
面倒ですが、ハードウェアのサポートに電話してチェック方法を伺い、問題あれば部品の交換等をしてもらおうかなと思っていました。
しかし、メモリチェックを複数のツールで実行しても問題なし。
メーカーに検品に出すにも構築したデータを退避しなくちゃいけないし、面倒だなあああ、とぐるぐる悩みつつ、しばらく経過してしまいました。

ハングアップ画面を捉える

それまで勝手なタイミングで再起動していたのですが、ログには何もでてこない状況でした。
カーネルをアップグレードしたりなんやりしていたら、現象がちょっと変って今度はハングするようになってくれました。
しかし、ハングのメッセージが取得できただけ前進です! ログには下記のようなメッセージが出ていました。

NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kerneloops:...

CPUが刺さっているようですが、とりあえずググるとこんな議論がされているのを発見しました。

全体的に謎なままですが、どうもCore-i7とnVidiaのグラボと特定のLinuxカーネルで起きているようです。
こんなことあるのでしょうか。
ものは試しということで、安いATIのグラボに差し換えてみたら、安定して稼動するようになりました。

個人的にもLinuxは17年位デスクトップ機としても使っていますが、こんなことは初めてです。
結局あまりすっきりしない結末でしたが、こんなこともあるんだなあ。
しかし、こういった謎の組み合わせ問題にはもう遭遇したくないものです。