systemd-oomdにより頻繁にアプリが終了する問題
「systemd-oomd」により頻繁にアプリが終了する問題に対応するため、以下で対応方針が話し合われています。systemd-oomd
以前紹介したように「Ubuntu Desktop 22.04 LTS」で「systemd-oomd」が導入されました。従来はメモリー不足によりOSの応答性が著しく低下し、もしくは無反応になり、ユーザーはPCを強制的に再起動せざるを得ませんでした。
この状況を改善するため「systemd-oomd」を導入し、システム的にメモリー不足に陥る前にユーザースペースで「OOM Killer」を実行してメモリーの空き容量を確保し、システムの応答性低下を緩和することになりました。
アプリが意図せず終了する
「systemd-oomd」はシステムの状況と各「cgroup」のリソース使用量が一定条件に到達すると、その「cgroup」を終了させメモリーの空き容量を確保します。ユーザー視点で言えば利用しているアプリが終了することになります。
またユーザーの環境によっては頻繁に条件に到達し、アプリが頻繁に終了させられる現象が発生しています。
これはユーザーからすれば不便極まりなく、UbuntuのUXに悪い影響を与えています。
不具合報告
アプリが頻繁に終了する現象に遭遇したユーザーが、不具合報告をあげています。一例として以下の不具合報告を見てみましょう。
このユーザーの環境ではメモリーを8GB搭載していますが、「Firefox」と「Visual Studio Code」が「systemd-oomd」により2時間毎に終了させられるとのことです。
「systemd-oomd」が導入される前の「Ubuntu 21.10」ではこのような現象が起きておらず、ユーザーからすればリグレッションに感じるでしょう。
とは言えメモリーが不足してから「OOM Killer」を実行したのでは遅すぎますし、その一方でこのような現象を起こすタイミングで「OOM Killer」を実行するのは早すぎるようにも思います。
悩ましい問題です。
どうしよう?
というわけでこの問題に対応するため、対応方針が話し合われています。「OOM Killer」を実行する条件をもっと緩和する案や振る舞いを調整する案、条件に影響を与えるスワップファイルのサイズを増やして見る案、ユーザーに通知で知らせる案など、複数の提案があげられています。