アカウント名:
パスワード:
どういったケースで有用なのか想像ができないんですが
例えばこのゲーム [seul.org]のように、ものすごい勢いでmalloc()しまくって(もしくはclassをnewしまくって)、用済みになっても手放さない、ゆかいなソフトが、稀にあるんですよ。勿論れっきとしたバグなんですが、OOM Killerが発動しないと、メモリが足りなくなって詰んでシステムが死んでしまうので、発動させてなんとかシステムは生き残らせようとする訳です。後、最近のメモリ容量が豊富なシステムではあんまし考えられないのですが、サーバで猛烈な量のスクリプトやプロセスが走ってしまってる場合とか、すごい数のユーザがログインしてコンパイラやEmacsを走らせてるとか…ある意味、90年代半ばまでの遺物なんですけど、実際役に立つこともあるので、廃止されてないんですよ。
これは妖怪メモリ不足ですね!メモリ増設もいいですが、サーバをリプレースしましょう!そうしましょう!
というセールストークにしか役にたった試しがないデース……
無限アロケーター系はちょっと考えたんですが本命に当たるより前にシステムに必須な何かを消される危険のほうが大きいんじゃないかと思ったんですがもうどうしようもない状況だから博打でもかまわない感じなんですかね※昔はシステムに必須なデーモン類が少なくて分の悪い賭けでもなかったのかな
なんか一応行儀が悪そうなやつを選んでる、んじゃなかったでしたっけ(うろ覚え
本当ですね。ググったら、dstat --top-oomで悪そうなヤツ(プロセス)を確認できるということが分かりました。
もうそろそろ落ちるって時になるべく後まで観察ができます。いきなりpanicするよりましってだけです。衝突が回避できない時にエアバッグを展開するようなものです。展開したらすごく運転しづらいけど頭ぶつけて死ぬよりはまし。
>メモリが足りなくなって詰んでシステムが死んでしまうので、
そもそもここがわからない。遅くなるだけじゃないの?あまりにも遅すぎて操作不能状態を「死んでしまう」と言ってるのならわかるが。
多分、頑張ったら、HDDの最後の1バイトを使い切るまで遅くなるだけで踏ん張るようなOSの実装も出来るんだろうし、テーマとしては面白そうだけど、そんな事をしようとすると、そのために必要になる余分な処理やらデータ構造のせいで、普段から無駄に遅いOSになったりする。「上限を決めとく」というのは、かなり多くのソフトウェアで凄く効く高速化手法。
大抵のOSは、普通に使っていて問題にならないようなところに多数の上限が設けられてる。
その中でも普通に使っていて気付きやすい所では、パス名+ファイル名の長さの上限とか。結構短いので、実用的な範囲内でも、割としょっちゅう引っかかる。Windowsだと今時、250文字だとか、ちょっと信じがたい制限が残ってる。やっとのことで解消に向かっている [developers.srad.jp]けど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
COM Killerの必要性 (スコア:0)
どういったケースで有用なのか想像ができないんですが
Re:COM Killerの必要性 (スコア:1)
例えばこのゲーム [seul.org]のように、ものすごい勢いでmalloc()しまくって(もしくはclassをnewしまくって)、用済みになっても手放さない、ゆかいなソフトが、稀にあるんですよ。
勿論れっきとしたバグなんですが、OOM Killerが発動しないと、メモリが足りなくなって詰んでシステムが死んでしまうので、発動させてなんとかシステムは生き残らせようとする訳です。
後、最近のメモリ容量が豊富なシステムではあんまし考えられないのですが、サーバで猛烈な量のスクリプトやプロセスが走ってしまってる場合とか、すごい数のユーザがログインしてコンパイラやEmacsを走らせてるとか…ある意味、90年代半ばまでの遺物なんですけど、実際役に立つこともあるので、廃止されてないんですよ。
Re:COM Killerの必要性 (スコア:1)
これは妖怪メモリ不足ですね!メモリ増設もいいですが、サーバをリプレースしましょう!
そうしましょう!
というセールストークにしか役にたった試しがないデース……
Re: (スコア:0)
無限アロケーター系はちょっと考えたんですが
本命に当たるより前にシステムに必須な何かを消される危険のほうが大きいんじゃないかと思ったんですが
もうどうしようもない状況だから博打でもかまわない感じなんですかね
※昔はシステムに必須なデーモン類が少なくて分の悪い賭けでもなかったのかな
Re:COM Killerの必要性 (スコア:1)
なんか一応行儀が悪そうなやつを選んでる、んじゃなかったでしたっけ(うろ覚え
Re: (スコア:0)
本当ですね。ググったら、dstat --top-oomで悪そうなヤツ(プロセス)を確認できるということが分かりました。
Re: (スコア:0)
もうそろそろ落ちるって時になるべく後まで観察ができます。いきなりpanicするよりましってだけです。
衝突が回避できない時にエアバッグを展開するようなものです。展開したらすごく運転しづらいけど頭ぶつけて死ぬよりはまし。
Re: (スコア:0)
>メモリが足りなくなって詰んでシステムが死んでしまうので、
そもそもここがわからない。遅くなるだけじゃないの?
あまりにも遅すぎて操作不能状態を「死んでしまう」と言ってるのならわかるが。
Re:COM Killerの必要性 (スコア:1)
Re: (スコア:0)
多分、頑張ったら、HDDの最後の1バイトを使い切るまで遅くなるだけで踏ん張るようなOSの実装も出来るんだろうし、テーマとしては面白そうだけど、そんな事をしようとすると、そのために必要になる余分な処理やらデータ構造のせいで、普段から無駄に遅いOSになったりする。「上限を決めとく」というのは、かなり多くのソフトウェアで凄く効く高速化手法。
大抵のOSは、普通に使っていて問題にならないようなところに多数の上限が設けられてる。
その中でも普通に使っていて気付きやすい所では、パス名+ファイル名の長さの上限とか。結構短いので、実用的な範囲内でも、割としょっちゅう引っかかる。Windowsだと今時、250文字だとか、ちょっと信じがたい制限が残ってる。やっとのことで解消に向かっている [developers.srad.jp]けど。