하드디스크의 가상 메모리는 어디에 저장되나요?

하드디스크의 가상 메모리는 어디에 저장되나요?

프로세스가 실제 메모리에 없는 메모리 주소에 액세스하려는 경우 운영 체제는 나중에 사용할 수 있도록 실제 메모리의 페이지 프레임을 하드 디스크로 아웃소싱합니다. 이 데이터/지침은 하드 드라이브의 어디에 저장되어 있습니까?

스왑 파티션에 저장되어 있습니까?

답변1

실행하여 swapon -s스왑에 사용되는 장치와 파일을 확인할 수 있습니다. 예를 들어 내 과학 Linux 시스템은 다음과 같이 말합니다.

[[email protected] ~]$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda3                               partition   8388600 833408  -1

그래서 저는 스왑을 위해 /dev/sda3을 사용합니다. 또한 스왑 페이지가 할당되는 순서를 조정하는 데 사용할 수 있는 우선순위 필드를 참고하세요(참고자료 참조 man 2 swapon).

일부 사람들이 말했듯이 스왑이 부족하거나 스왑이 0인 경우메모리 오버플로 킬러실제 메모리가 부족해지면 프로세스가 종료되기 시작할 수 있습니다.

답변2

프로세스 메모리 페이지는 RAM에서 디스크로 전송될 수 있습니다. 이것은 ... 불리운다스왑 또는 페이징(조건은본질적으로 동의어). 데이터는 스왑 공간으로 이동되고 필요할 때 스왑 공간에서 다시 로드됩니다. Linux는 파티션(및 기타 블록 장치)과 파일을 스왑 공간으로 지원합니다.

문제의 페이지에 파일에서 로드된 데이터가 포함되어 있는 경우 페이지가 회수될 때 데이터는 스왑 공간에 기록되지 않고 단순히 RAM에서 제거됩니다. 프로세스에 페이지가 다시 필요할 때 데이터는 이 파일에서 로드됩니다.

관련 정보