리눅스 OS에서 RAM이 부족하고 스왑이 없을 때 발생하는 일 때문에 스택

Linux OS에 RAM이없고 스왑을 사용할 수없는 경우 어떻게됩니까?



답변

운영 체제에 RAM이없고 스왑이없는 경우 클린 페이지가 삭제됩니다. 더티 페이지는 먼저 어딘가에 써야하므로 버릴 수 없습니다. 작업 세트를 보유 할 RAM이 충분하지 않으면 스 래싱 및 성능 저하가 발생합니다. 이것이 실제로 스왑을 원하는 주된 이유 중 하나이므로 운영 체제는 어떤 페이지를 제거할지 더 잘 결정할 수 있습니다.

스왑이 없으면 더 이상 정리할 페이지가 없어지면 시스템에 가상 메모리 (엄격히 말해서 RAM + 스왑)가 부족하게됩니다. 그런 다음 프로세스를 종료해야합니다.

RAM 부족은 완전히 정상입니다. RAM 사용 에 대한 부정적인 회전 일뿐 입니다. RAM이 부족하지 않은 경우 “RAM 낭비”라고 할 수 있습니다. 모든 RAM이 사용되면 운영 체제는 RAM에 보관해야 할 것과 그렇지 않은 것에 대해 지능적으로 결정합니다. 스왑이 없으면 선택의 폭이 줄어 듭니다.

스왑 유무에 관계없이 페이지를 제거하는 것으로 충분하지 않은 경우 운영 체제는 메모리 (예 : mmapfork) 가 필요한 작업 을 성공시키는 것을 거부함으로써 시작됩니다 . 그러나 때로는 충분하지 않으며 프로세스를 종료해야합니다.