Ketika saya menggunakan pengaturan default:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
Saya dapat membaca nilai-nilai ini dari /proc/meminfo
file:
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
Tetapi ketika saya berubah vm.overcommit_memory
dari 0
menjadi 2
, saya tidak dapat memulai set aplikasi yang sama yang bisa saya mulai sebelum perubahan, terutama amarok. Saya harus mengubah vm.overcommit_ratio
ke 300
, sehingga batasnya dapat ditingkatkan. Sekarang ketika saya memulai amarok, /proc/meminfo
menunjukkan yang berikut:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
Mesin ini hanya memiliki 1GiB RAM, tetapi amarok bekerja tanpa masalah ketika vm.overcommit_memory
diatur ke 0. Tetapi dalam hal mengaturnya 2
, amarok perlu mengalokasikan lebih dari 2GiB memori. Apakah itu perilaku normal? Jika demikian, adakah yang bisa menjelaskan mengapa, misalnya, firefox (yang menghabiskan memori 4-6x lebih banyak dari amarok) bekerja dengan cara yang sama sebelum dan sesudah perubahan?
Committed_AS
sama dalam kedua kasus?