デフォルト設定を使用する場合:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
これらの値を/proc/meminfo
ファイルから読み取ることができます:
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
しかし、vm.overcommit_memory
から0
に2
変更すると、特にamarokのように、変更前に起動できるのと同じアプリケーションセットを起動できません。に変更vm.overcommit_ratio
する必要300
があったため、制限を増やすことができました。これで、amarockを起動すると/proc/meminfo
、次のように表示されます。
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
このマシンにはRAMが1GiBしかありませんがvm.overcommit_memory
、0に設定する2
とamarok は問題なく動作します。しかし、設定する場合、amarokは2GiB以上のメモリを割り当てる必要があります。それは正常な動作ですか?もしそうなら、例えば、Firefox(amarokの4-6倍のメモリを消費する)が変更の前後で同じように機能する理由を説明できますか?
Committed_AS
、両方のケースで値を同じにすべきではありませんか?