メインコンテンツへスキップ
AI活用・業務効率化

深夜のGPU生成停止を朝までに直した話──健康チェックの寿命

未明にWindows Updateが古いGPUドライバを入れ直し、GPUでの生成が止まりました。ドライバは自動で元に戻ったのに、生成キューは動かないまま。再起動でも直らず、スレッドの止まり場所を実測すると、健康チェックがGPUサーバーの返事を待ったまま固まっていました。固まった健康チェックを150秒で見捨てて始め直す最小修正などで生成を再開させた記録と、3つの教訓をまとめます。

発生:9月11日の未明、キューが動かなくなった

うちでは施工イメージやSNS用の動画素材づくりに、自社のGPUサーバーで画像・動画を生成しています。深夜も遊ばせず動かし続ける方針にしているのですが、9月11日の未明、Windows Updateが古いGPUドライバを入れ直し、3時40分ごろからGPUの状態を読み取れなくなりました。ドライバは04:10に自動で元のバージョンへ戻りましたが、問題はその直後に起きました。生成タスクを配る役目のプログラム(ディスパッチャ)が、待ち行列のタスクを取りに行かなくなったのです。

ログを見ると、待ち行列にタスクは積まれているのに、処理を取りに行く動き(claim)がゼロのまま止まっています。プロセス自体は生きていて、エラーも吐いていません。「動いているのに仕事をしない」という、いちばん判断に迷う止まり方でした。

対応:再起動でも直らず、コードを疑った

こういう時にまずやるのは再起動です。実際に1回再起動をかけましたが、直りませんでした。ここが今回の分かれ目でした。「もう一度再起動すれば直るかもしれない」と同じ対処を繰り返すのではなく、1回で直らなかった時点で「プロセスの外側」ではなく「プログラムの中身」を疑う判断に切り替えました。

生きているプロセスを外から眺めても原因は分かりません。そこで、動いているスレッドがどこで止まっているか(スタックトレース)を実際に取得して調べました。すると、ディスパッチャの健康チェック処理が、GPUサーバーに状態を問い合わせたまま、返事のこない状態で固まっていることが分かりました。問い合わせを中継する裏方のプログラムが、不安定になっていた通信経路の上で、出力をつかんだまま残っていたとみられます。健康チェックにも時間切れの設定はありましたが、この残り方をされると効かない作りでした。しかも、固まった健康チェックを見切って始め直す仕組みがありませんでした。健康チェックが応答待ちで固まっているせいで、本来のタスク割り当て処理もその後ろで詰まっていました。

原因が分かれば対処はシンプルです。150秒たっても終わらない健康チェックは固まったものとみなして見捨て、新しい健康チェックを始め直す、という最小限の修正を入れました。ただ、タスクの取り込みが戻っても、生成の失敗はまだ続きました。調べると、生成の主力プログラムが、ドライバの騒ぎの最中に自動で再起動した際、2枚あるGPUのうち性能の低い方で立ち上がっていて、メモリ不足で生成に失敗していました。こちらは再起動で性能の高い方のGPUに戻しました。さらに、処理中のまま取り残されていた古いタスクの予約(ゾンビ状態のclaim)を解放し、新しいタスクが入ってこられる状態に戻しました。

結果:朝までに生成再開、そして3つの教訓

ディスパッチャは、修正を反映して起動し直した04:36にタスクの取り込みを再開しました。使うGPUの戻しとタスク予約の片付けを終えた05:21に、停止後はじめての生成が成功しました。ドライバが戻った04:10から数えて約1時間10分、最後に生成が成功していた03:36から数えると約1時間45分の停止です。止まっている間、待ち行列には12件のタスクが残っていました。復旧後の8時間では、62件の生成が成功しました。数字だけ見ると小さな障害ですが、深夜のうちに気づいて手当てできたことで、朝には何事もなかったように生成が回っている状態にできました。

今回の件から持ち帰った教訓は3つあります。

  1. 「生きているのに仕事をしない」状態は、まず待ち合わせ処理を疑う。 プロセスの生死やエラーログの有無だけでは判断できない止まり方があります。ガード(安全装置)が効きすぎているのかと考える前に、どこかで応答を待ったまま固まっていないかを確認する方が近道でした。
  2. 再起動を1回試して直らなければ、コード側の原因を疑う。 再起動は手軽な対処ですが、同じ対処を繰り返しても直らない障害は、外側の再起動ではなく中身のロジックに原因があることが多いです。切り替えのタイミングを決めておくと迷わずに済みます。
  3. 健康チェックそのものにも「あきらめる時間」を持たせる。 健康チェックは本来、異常を早く見つけるための仕組みです。ところがその健康チェック自体が応答を待ち続けて固まってしまうと、本末転倒で全体を止める原因になります。時間切れを設定しただけで安心せず、決めた時間を過ぎても終わらない健康チェックは見捨てて始め直す、というところまで作っておく必要があると学びました。

夜間の障害対応も、実測しながら止めない仕組みに

ラポ秘書サービスでは、深夜の異常に気づき、原因をスタックレベルまで実測してから最小限の修正で復旧させる、という運用を日々の業務にも応用しています。人手を増やさずに「止まったら気づいて直す」仕組みづくり、一緒に整理しませんか。

ラポ秘書に無料で相談する

📞無料相談はこちら: 03-6876-7749 LINEでのご相談: https://line.me/R/ti/p/@488bnqbu(LINE ID @488bnqbu)

内装工事の対応範囲はサービスページ、ご相談の流れはお問い合わせフォームもご覧ください。


※内容は社内運用記録に基づいています。顧客名・案件名・現場情報は掲載していません。

東京で内装工事を検討中の方向け導線

この記事とあわせて見ると、費用感の把握から相談開始まで一気に進めやすくなります。

東京の内装工事はラポルタへご相談ください

図面・写真ベースの無料相談と概算見積に対応しています。商圏と工種に合わせて最短導線から進められます。

お急ぎの方は お問い合わせフォーム から直接ご相談いただけます。

関連記事

営業時間外|フォーム受付中・ご連絡は最短で、遅くとも2営業日以内

LINE相談フォームで相談