パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Linux Mint 21 は systemd-oomd 非搭載に」記事へのコメント

  • じゃあかんの?
    マルチユーザーやシングルユーザーでも特定プロセスの暴走でメモリー不足からのシステム不良が起こるなら事前に最大ヒープサイズを制限するとかじゃあかんの?
    他にも有ったけど問題のないプロセスを無作為に殺す仕様が理解できない

    • by Anonymous Coward

      (昔のこと)
      Linuxカーネルの場合、メモリ不足でプロセスが死ぬのは、メモリを確保した時点ではなくて、ホントにそのメモリに書き込んだときだったのね。
      かなり端折って言えば、mallocは常に成功(overcommit)、確保したメモリに初めて書こうとした時点でカーネルが実際にメモリを確保、その時点 でメモリ不足になっていたら例外発生ってな感じ。
      これじゃあまともなアプリは作れないってんで、overcommit=0にする設定もあったんだけど、デフォルト0じゃなかったのね。
      この仕掛けだと、メモリ不足になったのは大食いのアプリがあったからなんだろうけど、killされるプロセスはメモリ不足に陥ったときにたまたま(メモリ確保を伴う)メモリ書き込みをしたプロセスなのね。それじゃあ理不尽でしょ。

      (今のこと)
      しらん。

      • by Anonymous Coward on 2022年07月05日 19時38分 (#4283492)

        今はovercommit=0がデフォルトだけど、0でもovercommitするぞ。
        馬鹿げたサイズのアロケーションは弾くって程度のチェックであって、事実上1と大差ない。
        厳密にチェックするのは2。

        とはいえ、VSSとRSSが大きく乖離するなんて当たり前だし、こいつらを近づけるのはかーなーり面倒くさい。
        スレッド立てるだけでもスタックサイズ気にしないとだし、mallocすら気軽に叩けない。

        親コメント

Stableって古いって意味だっけ? -- Debian初級

処理中...