기본 설정을 사용하는 경우 :
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
/proc/meminfo
파일 에서 다음 값을 읽을 수 있습니다 .
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
내가 변경할 때 vm.overcommit_memory
부터 0
로 2
, 나는 특히 아마록, 나는 변경하기 전에 시작할 수있는 응용 프로그램의 동일한 세트를 시작할 수 없습니다입니다. 로 변경 vm.overcommit_ratio
해야 300
했기 때문에 한도를 늘릴 수있었습니다. 이제 amarok을 시작할 때 /proc/meminfo
다음을 보여줍니다.
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
이 시스템에는 1GiB의 RAM 만 있지만 amarok는 vm.overcommit_memory
0으로 설정 되어도 문제없이 작동 합니다. 그러나로 설정하면 2
amarok는 2GiB 이상의 메모리를 할당해야합니다. 정상적인 행동입니까? 그렇다면 왜 누군가가 변경 전후에 같은 방식으로 파이어 폭스 (아마 로크보다 4-6 배 더 많은 메모리를 소비)가 작동하는지 설명 할 수 있습니까?
Committed_AS
두 경우 모두 그 가치가 같아서는 안됩니까?