![Re:[PATCH] OOM_pardon、略称:私のxlock は殺すな (2004)](/_next/image?url=%2Fscreenshots%2F2026-06-01%2F1780273723417.webp&w=3840&q=75)
2026/06/01 2:58
Re:[PATCH] OOM_pardon、略称:私のxlock は殺すな (2004)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約の改善版: 2004 年 9 月の linux-kernel メーリングリストでのやり取りにおいて、Andries Brouwer は、重大なプロセスが Out-Of-Memory(OOM)イベントの際に存続させられない場合にシステムパニックを強制する提案された sysctl 設定("oom_pardon")に対する Thomas Habets の返信を行った。Brouwer は、複雑な除外ルールのもたらす危険性を、「燃料切れ」(OOF)による航空機の比喩を用いて説明し、ピロットといった重要役務が誤って排除されるような状況を免れるために乗客を射出しても失敗すると指摘した。彼は、プロセスの終了に適用すべき特定のルール(重量、年齢、ランダム選択、または運賃クラスに基づく犠牲者の選定など)に疑問を呈した。この議論は、システム管理者や継続的な重要なサービスに依存する開発者が直面する核心的な対立点である、極端なクラッシュ挙動の実装か、あるいは犠牲となるプロセスを選定するロジックの洗練化かの選択の問題を示した。
本文
OOM キル回避に関する提案と背景(航空事故への喩え)
📝 提案内容:sysctl パラメータの設定
Thomas Habets 氏より、メモリ不足(OOM)時のプロセス選定基準として以下の sysctl を設定するよう提案されています。
- 対象プロセス:
kbaek - 設定方針: OOM キル時に決して殺さない。
- 重要度: **「もし他に何をしてもダメなら、panic させたほうがよい」**という優先度を設定することをお勧めします。
# 提案される設定イメージ(例) sysctl -w kern.oom_pardon="kbaek" # または、より強い保護を行う場合 sysctl -w kern.oom_pardon_essential="kbaek"
✈️ 背景:航空業界の「OOF」メカニズムへの喩え
航空業界で行われているコスト削減策と、それによる深刻な問題について比喩的に説明しています。
コスト削減とリスク増大
- 運行コスト低減: 飛行機に搭載する燃料量を削減することで、資金節約を図っています。
- 軽量化効果: 搭載物の削減により燃料消費量が減少し、結果として利益が向上しました。
- 発生した問題: 稀なケースで搭載燃料が不足し、墜落事故が発生しました。
「OOF(燃料切れ)」メカニズムの開発
この問題を解決するために開発されたシステムです。
- メカニズム: 緊急時には乗客を選んで機外へ放出することで燃料負荷を減らします。
- 現状の問題: システムが正常に作動する一方で、燃料不足のない状況下でも人を放出し続けるという誤動作が発生しています。
「犠牲者選定」に関する議論と事例
OOF メカニズムの開発に伴い、以下のような倫理的・論理的な議論が多数行われました。
- 無作為に選ぶべきか?
- 体重の重い人を優先すべきか?
- 年齢の古い人を優先すべきか?
- 被放出対象者を貧困層にするよう入場料を徴収すべきか?
- 操縦士である場合でも優先的に選定すべきか?
- ファーストクラス搭乗者は免罪されるべきか?
現在までの調査状況
- エンジニアらは精密に調査を進めていますが、誤動作を引き起こす具体的な原因についてはまだ解明されていません。