Linux 커널은 메모리 부족 상태를 어떻게 처리합니까?Linux 커널이 메모리 부족 상태를 처리합니다.
새 커널이 메모리 부족 상태를 충분히 처리하고 있다는 것을 어떻게 증명할 수 있습니까?
동일한 표준 테스트가 있습니까?
Linux 커널은 메모리 부족 상태를 어떻게 처리합니까?Linux 커널이 메모리 부족 상태를 처리합니다.
새 커널이 메모리 부족 상태를 충분히 처리하고 있다는 것을 어떻게 증명할 수 있습니까?
동일한 표준 테스트가 있습니까?
리눅스 커널은 OOM(Out Of Memory) Killer
을 사용하여 메모리 부족 조건을 처리합니다. OOM 킬러의 전략은 할당 프로세스가 필요한 메모리를 확보 할 수 있도록 일부 프로세스 또는 프로세스를 종료하는 것입니다.
죽이기 프로세스를 선택하기 위해 OOM 킬러는 Badness
값을 계산합니다. 그런 다음 최대 Badness로 프로세스를 선택합니다. 할당 프로세스가 선택되면 OOM은 작업을 종료합니다. 다른 프로세스가 선택되면 OOM 킬러의 이전 실행이 충분한 메모리를 확보하지 못한 경우에 OOM 킬러가 두 번 이상 호출 될 수 있습니다.
과정은 루트 프로세스가 살해되지
1-항상을 오버 커밋
우리는 /proc/sys/vm/overcommit_memory
0 휴리스틱 메모리 오버 커밋 값 (기본 설정) 주소 공간의 -Obvious overcommit을을 사용하여 OOM 킬러를 구성 할 수는
을 거부됩니다2 - 오버 커밋 해제 - overcommit_memory가로 설정된 경우 2, 시스템에 대한 전체 주소 공간 커밋은 물리적 RAM의 스왑 + 구성 가능 백분율 (overcommit_ratio -default는 50)을 초과해서는 안됩니다.
Linux 핸들을 증명하는 간단한 방법은 OOM이 malloc 및 memset을 통해 메모리를 지속적으로 할당하는 것입니다 프로세스가 메모리를 모두 소모하여 죽을 때까지 메모리를 남깁니다 (dmesg에 나타남). 메모리 부족에 대한
표준 테스트는 테스트는 LTP에서 사용할 수있는 LTP Source Forge
에서 사용할 수 Linux Test Project (LTP)
에서 찾을 수 있습니다 /을 testcases/커널/MEM/움
감사합니다 .. 그것은 당신의 끝에서 큰 도움이됩니다 ,,, 감사합니다 .. – Happy
감사합니다 Harshitha. 또한 (메모리가 필요할 때) 데스크탑 모드에서 선택 프로세스를 중단시키는 대화식 방법이 있는지 알고 있습니까? – Henry