긴급 상황에서 어떤 것이 내 메모리를 모두 사용하거나 CPU를 로드할 때 터미널을 열고 문제가 되는 프로세스를 찾아서 종료할 수 있도록 50MB의 메모리를 따로 확보할 수 있습니까?
답변1
내가 아는 한 이것은 불가능합니다. 메모리 관리의 복잡성을 고려하면 이 문제를 해결하는 것은 언뜻 보기보다 더 복잡하다고 생각합니다. "50MB 예약"이 무엇을 의미하는지 명확하게 작성하는 것은 어려울 수도 있습니다.
그러나 Linux에는 문제를 보다 우아하게 해결할 수 있는 몇 가지 방법이 있습니다.
OOM Killer - Out of Memory Killer - 메모리가 부족할 때 어떤 프로세스를 종료할지 결정한 다음 종료합니다. 반환 값과 충돌을 확인하지 않는
첫 번째 프로그램을 기다리는 것보다 훨씬 낫습니다.malloc()
필요에 따라 구성할 수 있는 몇 가지 매개변수가 있습니다. Linux Out of Memory Killer를 구성하는 방법.
이를 복잡하게 만드는 부분 중 하나는 하나의 프로그램에 대한 메모리를 확보하는 데 도움이 되지 않는다는 것입니다. 유용한 작업을 수행하려면 다른 프로그램을 시작할 수 있어야 합니다 kill
.