2: 자주 확인하고 과도하게 투자하지 마세요.
모드 2(Linux 2.6부터 사용 가능)에서 할당 가능한 총 가상 주소 공간(/proc/meminfo의 CommitLimit)은 다음과 같이 계산됩니다.
CommitLimit = (total_RAM - total_huge_TLB) *
overcommit_ratio / 100 + total_swap
IIUC에서는 echo 2 > /proc/sys/vm/overcommit_memory
오버커밋이 비활성화되어 있으므로 실제 물리적 메모리(RAM + 스왑)보다 더 많은 가상 메모리 할당을 허용해서는 안 됩니다. 그러나 퍼지 테스트 삼위일체를 사용하면 여전히 메모리 부족이 보고되고 데스크탑 환경이 종료됩니다.
제가 추측하는 한 가지 가능한 이유는 always check, never overcommit
각 프로세스에 의해 할당된 메모리가 결코 초과되지 않는다는 것입니다 CommitLimit
. 그러나 여러 프로세스가 동시에 메모리를 할당하고 합계가 초과하는 경향이 여전히 있습니다 CommitLimit
. 제 추측이 맞습니까?