「空き容量が突然なくなったのに、容量を食っているファイルが見つからない」。AI秘書を動かしているパソコンで、10月1日と3日に続けて起きた話です。
何が起きたか
ラポルタでは、AI秘書をパソコンで24時間動かしています。10月1日、そのパソコンの空き容量が約4分で17GBから0.6GBまで減りました。2日後の10月3日にも、21.7GBから9.1GBへ約5分で急に減る出来事が起きています(空き容量の数字は監視の表示値で、1GB=1024³バイトで数えています)。
空きが少なくなると、AIが新しい作業を始めようとしても安全装置に断られ、作業が止まります。最初に疑ったのは、ログや作業ファイルが一気に増えたことでした。そこで、直近1時間で大きく増えたファイルを調べる監視で確認しました。結果は、上位のすべてで増加が0MBでした。
10月3日の真因は「ファイル」ではなく「swap」だった
増えたファイルが無いのに空きだけが減る。この食い違いから、見る場所を変えました。パソコンはメモリが足りなくなると、ディスクの一部をメモリの代わりに使います。これがswapです。swapは監視の対象にしていない場所に作られるため、ファイルの増減には現れません。
10月3日の分を実測すると、原因はローカルAIの読み込みでした。ローカルで動かす大きめのAI(約300億パラメータ)が、コンテキスト長(AIが一度に読める文章の量)約26万トークン(文章を数える単位)の設定で読み込まれ、ローカルAI側の表示で約45GBのメモリを使っていました。この時間帯にswapは約5GBから約19GBに増えています。起動したまま残っていたiOSシミュレータ(iPhoneの動作確認用の仮想端末)3台もありましたが、読み込み前のswapは約5GBで落ち着いていたので、急増の引き金はローカルAIのほうです。
つまり、ディスクを食っていたのは新しいファイルではなく、メモリ不足の穴埋めに使われた領域でした。ローカルAIのコンテキスト長は、指定しないと大きな既定値で読み込まれることがあります。
一方、10月1日の急減はswapでは説明がつきません。直後の記録でswapは約5GBで一定、同じ時刻にmacOSが更新データを準備した記録がありました。更新データの一時置き場が最有力ですが、1分刻みの記録が無く、原因は確定できていません。
掃除の手段まで止まっていた
もう1つ困ったのが、緊急時の動きです。空きが少なくなると、AIの作業を新しく始めようとする操作は、容量を守るための安全装置(フック)に拒否されます。一方で、ディスクの状況を確かめたり不要なものを消したりするコマンドは、別の安全装置が止める設定になっていました。
個々の装置は、それぞれ正しい目的で作ったものです。ただ、組み合わせると、容量が足りないときに掃除もできず、AIの作業も始められない状態になりました。1回目はこの状態で、人に物理的な対応を頼むしかありませんでした(空きは約10分後に戻りましたが、何が空けたのかは記録で確かめられていません)。10月3日は、午前から空きが15GBを下回っていて、19時ごろの約11GBの時点で同じ状態になっていると分かり、約2時間止まりました(このときswapは約5GBで、ローカルAIの読み込みより前の出来事です)。最後はAI秘書が緊急時の例外として、計測と、作り直せるキャッシュや一時ファイルの削除だけを別の経路から実行して抜けました。空きが戻った直後の21時台に起きたのが、前の章で書いたswapによる急減です。
10月3日の復帰手順と、これから取る備え
21時台の急減のあと、AI秘書が自分で原因を調べました。「増えたファイルが0MB」という手がかりからswapの使用量を確かめ、ローカルAIの読み込みを特定しました。復帰は、次の順に進めました。
- 読み込まれていたローカルAIを、メモリから降ろす(降ろしても、swapはすぐには縮まなかった)
- 起動したままのシミュレータをすべて止め、使っていないものを削除する(空きを戻したのは主にこの削除。swapの使用量は、ローカルAIの読み込み直後の約19GBから、削除を終えた21時49分の時点でも約16GBまでしか縮んでいなかった)
- 空き容量が戻ったことを数字で確かめる
この2回を受けて、10月4日時点で次の3つを決めました。
- 問題を起こした自動の仕事からは、このパソコンのローカルAIを使わないよう外し、使ったら必ずメモリから降ろす設定にした(実装済み)
- ディスクの警告に、増えたファイルだけでなくswapの使用量も並べて出す(改修中)
- 容量が足りない緊急時でも掃除だけは通るよう、安全装置同士の例外を作る(課題として残っています)
ファイルの監視だけでは、メモリ不足が引き起こすディスクの減少は見えません。原因が見つからないときは、「どこが増えたか」から「何がメモリを使っているか」へ視点を切り替えるのが近道でした。それでも説明がつかないときは、OSの更新データのような見えにくい置き場も疑います。
こうした夜間の障害対応まで含めて、うちは AI秘書「ラポ秘書」を運用しています。
AIに任せたあとの「止まる場面」まで設計しませんか 導入して終わりではなく、今回のような容量不足や安全装置の相互干渉まで含めて、止まったときの備えを一緒に組みます。ラポ秘書がどんな場面で役立つか、無料相談でお気軽にご確認ください。 ラポ秘書に無料で相談する