Quando utilizzo le impostazioni predefinite:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
Posso leggere questi valori dal /proc/meminfo
file:
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
Ma quando cambio vm.overcommit_memory
da 0
a 2
, non riesco ad avviare lo stesso set di applicazioni che potrei iniziare prima della modifica, specialmente amarok. Ho dovuto passare vm.overcommit_ratio
a 300
, quindi il limite potrebbe essere aumentato. Ora quando avvio amarok, /proc/meminfo
mostra quanto segue:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
Questa macchina ha solo 1GiB di RAM, ma amarok funziona senza problemi quando vm.overcommit_memory
è impostato su 0. Ma nel caso di impostarlo su 2
, amarok deve allocare oltre 2GiB di memoria. È un comportamento normale? In tal caso, qualcuno potrebbe spiegare perché, ad esempio, Firefox (che consuma 4-6 volte più memoria di Amarok) funziona allo stesso modo prima e dopo la modifica?
Committed_AS
essere lo stesso in entrambi i casi?