그래서 내 서버에는 많은 장기 실행 프로세스를 처리하는 10GB 스왑이 실행되고 있습니다. RAM이 때때로 거의 100%로 실행되고 스왑의 3/4 이상이 사용되기 때문에 스왑 크기를 늘리고 싶습니다.
임시 해결책으로 공간이 늘어난 두 번째 스왑 디스크를 추가하고 우선순위를 높여 주말에 로드를 인계할 수 있도록 하고 성능이 낮은 스왑 디스크는 폐기했습니다.
내 문제는 내 프로세스가 완료에 매우 중요한 6~17일 동안 실행되었다는 것입니다.
현재 기존 10GB 스왑 디스크를 제거하면(pass swapoff
) 부족분을 보충할 수 있는 충분한 공간이 있지만 장기 실행 프로세스 중 하나가 스왑 공간의 일부를 사용하는 경우 해당 프로세스가 종료됩니까? 아니면 OS가 이를 처리하고 재배포할 것인가?
Google Cloud Compute Engine VM 호스트에서 Debian 10을 실행하고 있습니다.
답변1
커널은 이를 훌륭하게 처리합니다. swapoff
삭제된 스왑의 페이지를 물리적 메모리로 다시 이동한 다음 필요한 경우 (비활성화되지 않은) 스왑 장치로 다시 이동하게 합니다. 남은 물리적 메모리와 활성화된 스와핑이 작업 세트를 저장하기에 충분하다면 결과적으로 프로세스가 중단되어서는 안 됩니다.