デフォルト設定を使用する場合:
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、両方のケースで値を同じにすべきではありませんか?