LinuxはなぜWindowsのようにメモリを保護しないのですか?

LinuxはなぜWindowsのようにメモリを保護しないのですか?

次のように多くのメモリを使用するコードを実行するとき:

a = "1"
while True:a+=a

Windows 10ではmemory errorコンピュータを安全に保ちますが、Linuxでこのコードを実行すると動作が停止し、メモリが不足します。なぜ私には来ないのmemory error

ベストアンサー1

LinuxカーネルのOOM処理機能は非常に悪く、Linuxカーネル開発者はこの問題をユーザースペースで解決する必要があることを明らかにしました。https://lkml.org/lkml/2019/8/4/15

ユーザースペースは以下を自由に使用できます。

Fedoraのようなディストリビューションはデフォルトでearlyoom含まれています。

2022年10月に更新されました:

新しい十分なディストリビューションを使用している場合は、systemd-oomd今すぐ有効にする必要があります。インストールしていない場合は、earlyoom手動でインストールできます(ほとんどのディストリビューションストアまたはコンパイルで利用可能である必要があります)。

おすすめ記事