Коли я використовую налаштування за замовчуванням:
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, таким чином , межа може бути збільшений. Тепер, коли я запускаю amarok, /proc/meminfoпоказує таке:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
Ця машина має лише 1 Гбіт оперативної пам’яті, але amarok працює без проблем, коли vm.overcommit_memoryвстановлено значення 0. Але у випадку встановлення на неї 2, Amarok потрібно виділити більше 2 Гбіт оперативної пам’яті. Це нормальна поведінка? Якщо так, чи може хтось пояснити, чому, наприклад, firefox (який споживає на 4-6 разів більше пам’яті, ніж amarok) працює так само до і після зміни?
Committed_ASбути однаковим в обох випадках?