132 継続お問い合わせ『ダンジョンが臭い』6
「なんもわからん」
中間回答を提出し、少しの合間に簡易チケットを片づけ、そして休日を挟んで検証環境を放置していたドラ子は、一縷の望みをかけて事象が再現していないか確認する。
のだが、結局月曜の朝になっても、領域使用率の上昇は見られなかった。
検証環境のエラーログは、相も変わらず凪いだ海のように平穏で、問題など何一つありませんという顔をしている。
「なんでこういう時はマトモに動くんだ。もっと本気を出せSolomon」
「本気を出したら不具合出すって考えがまずどうなんだ」
隣から聞こえてくる不穏な発言に、思わず突っ込みを入れるメガネであった。
だが、実際問題としてドラ子はどうしたら良いのか分からず詰んでいた。
そんな彼女の様子に、メガネは少しだけ助け舟を出す。と言っても、メガネとて答えが分かっている訳では無いので、あくまで提案止まりではあるのだが。
「ドラ子。検証環境で状況が再現するようお祈りするよりも、まずSolomonで領域使用率が上がる条件を洗って、その上で関係しそうな事象を想定してみた方が良い」
メガネの言葉にドラ子は顔を上げた。
「先輩。そんなこと急に言われて私がぽんぽん挙げられると思いますか?」
「なんで自信ありげに自信ないこと言えるんだよ」
後輩のそんな態度に、メガネも思わずため息を吐いた。
まず、Solomonの話をする前に全体的なダンジョンコア──魔力の塊の性能の話をする必要があるだろう。
そもそも、ダンジョンコアと呼ばれるものには『サイズ』と『純度』による格付けがある。
サイズというのは、端的に言えばコアに含まれる『総魔力量』のようなものだ。多ければ多い程、より大きな魔力を蓄えることができ、より巨大なダンジョンを作れるようになる。
サイズはものによってピンキリだが、このサイズの上限がダンジョンのサイズの上限と考えてもだいたい問題ない。
Solmon的に言えば、ダンジョンのデータベースの容量はこのサイズによって決まって来るようなイメージだ。ストレージの大きさと考えてもらっても差し支えない。
一方で『純度』という指標はなにかと言えば、こちらが今回関わってくる『術式領域』の広さのようなものになる。
この純度が、ダンジョンが活動するときに同時に展開できる術式の量に関わってくる。
低純度のものではモンスターの召喚で領域が一杯になり、一体ずつの召喚しか行えないが、高純度になるとモンスターを五体同時に召喚しながら、宝箱や罠の設置も同時にできる、といった感じになる。
今回のお問い合わせで、領域使用率が高いというのは、この純度限界ギリギリまでダンジョンが何らかの作業を行っているということになる。言うなればメモリサイズの大きさとでも言えば良いだろう。
とはいえ、Solomonだって流石に馬鹿ではない。
術式領域を確保して作業を行ったあとは、使用した領域を掃除して、解放するような設計になっている。
そのため、ダンジョンで恒常的に何か無茶な作業を行っているのでもなければ、領域使用率というものは常に余裕があるのだ。
Solomonをインストールしてダンジョンコアとして利用しようとする際にも、このサイズと純度の最低条件は決められている。
推奨未満のコアにインストールされても、Solomonはその動作を保証していない。
まぁ、その推奨値ギリギリのコアに使ったら、結構ギリギリの動作になるかもしれないのだが、今回に限って言えば、コアの純度に問題は見られていない。
「だから、今回の事象の原因として考えられるのは大きく分けて二つ。一つはSolomonの領域解放が上手く行ってなくて、術式領域にどんどんゴミが溜まって領域を圧迫しているパターン」
これは良くあるパターンの一つだ。
術式領域とは、作業をするための作業台のようなもので、この作業台の片づけが出来ておらず物がどんどんと増えて行けば、作業スペースはどんどん狭くなって行って、いずれ作業もままならなくなる。
俗にメモリリークと呼ばれるもので、Solomonでも度々発生しては、即座に対応されるほど重要度の高い不具合である。
「もう一つは、Solmon特有の問題だな」
「と言いますと?」
「作業自体は大したことないのに、クソでか領域を確保しすぎて術式領域が圧迫されているパターン」
「ただのクソ術式じゃないですか」
悲しいことに、これも良くあるパターンの一つであった。
バージョンが進むことで大分減って来たし、柔軟に必要な分だけ術式領域を確保するようになってはきたのだが、それでも動作のスピードを優先して固定値で領域を確保している機能はSolomonには多い。
それでも通常であれば問題はないのだが、何らかの不具合と絡まることでその固定値がじわじわと悪さをすることがある。
最たるケースで言えば、前回の魔王城の強化打ち消し不具合なんかが、このパターンに当てはまるだろう。
「で、今回はどっちだって話なんです?」
と、ドラ子はさりげなくメガネからヒントを更に引き出そうと画策してみるが、メガネは渋い顔をする。
「言っただろう。俺にも原因は分からん」
「うぐぅ」
しかし、メガネはあっさりとその希望を断ち切る。
だが、この調子ではドラ子の進捗はあまりにも芳しくないと思ったのか、それともドラ子があまりにも絶望していた故か。
確証の無い事だが、と前置きしてメガネは所感を述べる。
「俺の勘では後者だな」
「その心は?」
「メモリリークで術式領域が一杯一杯になってるんだったら、いずれSolomonが立ち行かなくなって強制再起動になっててもおかしくない。でもログを見た限りそうはなってない。だから、Solomon的には通常の動作の範囲内で領域を圧迫されていて、これ以上の圧迫に繋がりそうな作業を止めている状態──みたいに見える」
「なるほど。完全に理解しました」
ドラ子は理解した。
良く分からないけどとりあえず後者だと。
「…………」
「てへ」
メガネのジト目をドラ子は受け流し、さぁ、と気合を入れた。
「とりあえず俺の言いたいことは以上だ。各機能のログも貰ってるんだから、そっちも覗いてみたら良いんじゃないか。たぶん、Solomonが高負荷を理由に機能制限をしているんだったら、どんな作業が中止されているかは確認できるはずだ」
「でも、高負荷が原因で中止されてるだけなら、ありとあらゆる作業が出て来ちゃうんじゃ」
「俺の考えが正しければ、領域を無理に確保しようとする動作は止まるが、そうじゃない動作はギリギリの所で動いていると思う。だからダンジョンはギリギリ稼働できてる。なので、どっかの機能の特定の作業だけ、中止の頻度が高い、みたいな状態が確認できるかもしれない」
なるほど、とドラ子は心の中のメモ帳に書き込んだ。
今からやることは、各ログを確認して、その中で最も中止されている頻度の高い作業を洗い出すこと、と。
そうやって、行動の指針を立てて貰いながら、ドラ子は一つ思うことがあった。
「先輩。私一つ気付いたことがあるんですよ」
「なんだ?」
それは、もはや過ぎてしまった儚い夢の話である。
だけど、今の状況を考えると、思わずには居られない話でもある。
「この前の中間回答のついでに、領域使用状況の情報を追加で取得して貰った方が、良かったですよねこれ?」
当然だが、Solomonだってアホではないので、自分が一体どういった作業に術式領域を使っているのかを確認する方法はある。
多少面倒だが、それを顧客に確認してもらい、スクショでも撮って送って貰えば、どんな機能が領域を圧迫しているか一目で分かった筈だ。
筈だったのだが。
「そうだな」
「そうだな!?」
「お前が一日早く不具合を突き止めていれば、中間回答を精査する時間もあっただろうな」
「…………」
悲しいが、ドラ子が中間回答を提出したのは〆切ギリギリだった。
ドラ子も、メガネも、ハイパーイケメン蝙蝠も、なんなら開発チームも焦っていた。
そんな状況で、あ、これも必要だからついでに取得しておこう、なんて考えて追加の情報取得依頼を挟む余裕が、悲しいことに無かったのである。
「今回原因解明できなかったら、次の時に情報取得すればいいんじゃないかな」
まぁ、結局はそういうことになる。
そういうことになるのだが、仮にドラ子は自分が顧客だったらどう思うかと考えた。
前回の中間回答で、領域使用率の話には触れているのだ。その上で、こっちで調査しますと言っておきながら、やっぱり分からなかったので情報をくれと言われたら。
「最初から言えや、ってキレませんか?」
「キレるかもね」
「…………他人事かよぉ」
メガネは返事の代わりにポンと肩を叩いた。
「もうやだぁ」
頑張れドラ子!
多分領域の使用状況を見れば一発で怪しい機能が分かるけど、無いなら無いなりに頑張れドラ子!
今回は仕方なかった




