스왑 파티션의 최대 공간 및 기능

스왑 파티션의 최대 공간 및 기능

그래서 저는 메모리 비용이 많이 드는 응용 프로그램을 처음 접했고 스와핑이 어떻게 작동하는지 잘 모릅니다...

10GiB의 RAM(VM)과 500GB/1TB의 여유 하드 드라이브 공간만 있습니다.

Java 애플리케이션을 실행하려면 약 150/200GiB의 메모리가 필요하지만 이를 64GiB로 줄일 수 있었습니다. 모든 것이 동시에 로드되는 것은 아니지만 Java는 여전히 힙 공간을 할당해야 합니다.

얼마나 많은 스왑 공간을 할당해야 합니까? 어떻게 작동하나요? 운영체제는 어떻게 반응할까요? (메모리가 가득 차거나 메모리 사용량을 줄일 때 사용되는 것으로 알고 있지만 안타깝게도 더 이상 유용한 정보를 찾지 못했습니다)

답변1

사용 가능한 물리적 RAM과 스왑 공간의 합계는 커널과 실행 중인 모든 프로세스에서 할당한 RAM의 총량보다 커야 합니다. 물론 너무 많은 스왑 공간을 사용하면 시스템 속도가 매우 느려질 수 있습니다.

따라서 애플리케이션에만 많은 메모리가 필요한 경우 최소 65GiB, 즉 55GiB의 스왑 공간이 있어야 합니다.

메모리 관리 측면에서 Linux와 애플리케이션 중 어느 쪽이 더 효율적인지 말하기는 어렵습니다. 그래서 저는 스왑을 위해 210GiB를 할당하고(이게 얼마나 미친 소리인지 깨달았습니다...) 애플리케이션 성능을 다양한 애플리케이션 메모리 설정과 비교할 것을 제안했습니다.

예를 들어 LVM과 스왑에 사용할 수 있는 여러 LV가 있는 경우 실행 중인 시스템에서 스왑 공간의 양을 변경할 수 있습니다. 바라보다 man swapon.

관련 정보