Коли я використовую налаштування за замовчуванням:
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
бути однаковим в обох випадках?