Kiedy używam ustawień domyślnych:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
Mogę odczytać te wartości z /proc/meminfo
pliku:
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
Ale kiedy zmieniam vm.overcommit_memory
z 0
na 2
, nie mogę uruchomić tego samego zestawu aplikacji, który mógłbym uruchomić przed zmianą, szczególnie amaroka. Musiałem zmienić vm.overcommit_ratio
na 300
, aby limit mógł zostać zwiększony. Teraz, gdy uruchamiam amarok, /proc/meminfo
pokazuje:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
Ta maszyna ma tylko 1 GB pamięci RAM, ale amarok działa bez problemów, gdy vm.overcommit_memory
jest ustawiony na 0. Ale w przypadku ustawienia go 2
, Amarok musi przydzielić ponad 2 GB pamięci. Czy to jest normalne zachowanie? Jeśli tak, czy ktoś mógłby wyjaśnić, dlaczego na przykład firefox (który zużywa 4-6x więcej pamięci niż amarok) działa w ten sam sposób przed zmianą i po niej?
Committed_AS
być taka sama w obu przypadkach?