Linux에서 Commited_AS가 CommitLimit과 MemTotal을 초과하지 않도록 강제합니다.

Linux에서 Commited_AS가 CommitLimit과 MemTotal을 초과하지 않도록 강제합니다.

내 시스템이 많은 스와핑을 수행하고 있기 때문에 할당된 메모리 양을 특정 한도를 초과하지 않도록 제한하고 싶습니다. 경험적 제약 조건이 존중되는 한 괜찮습니다. 나는 그것이라고 생각 CommitLimit했다현재 한도:

The current overcommit limit and amount committed are viewable in
/proc/meminfo as CommitLimit and Committed_AS respectively.

...하지만 그렇지 않은 것 같습니다.

MemTotal:        2042712 kB
CommitLimit:     2064808 kB
SwapTotal:       1043452 kB

Committed_AS:    4751348 kB

vm.overcommit_memory = 0

내가 이해하는 한, 활성화했습니다.경험적오버커밋과 현재 제한은 동일해야 합니다.커밋 한도. 커널이 왜 거의 5GB의 메모리를 할당했는지 이해할 수 없습니다. 실제로 총 메모리 제한입니까?총 스왑+커밋 한도+총 메모리?

이것은 커널 4.9에 있습니다.

답변1

또 있다문서에 넣다이는 이 사용 사례에 엄격한 오버커밋 모드(2)가 필요함을 의미합니다.

관련 정보