![Linux에서 Commited_AS가 CommitLimit과 MemTotal을 초과하지 않도록 강제합니다.](https://linux55.com/image/122957/Linux%EC%97%90%EC%84%9C%20Commited_AS%EA%B0%80%20CommitLimit%EA%B3%BC%20MemTotal%EC%9D%84%20%EC%B4%88%EA%B3%BC%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8F%84%EB%A1%9D%20%EA%B0%95%EC%A0%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
내 시스템이 많은 스와핑을 수행하고 있기 때문에 할당된 메모리 양을 특정 한도를 초과하지 않도록 제한하고 싶습니다. 경험적 제약 조건이 존중되는 한 괜찮습니다. 나는 그것이라고 생각 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)가 필요함을 의미합니다.