메모리 페이징

페란티 아틀라스

페이징을 지원하는 최초의 컴퓨터는 1963 년 맨체스터 대학교 페란티와 플레시가 공동으로 개발한 슈퍼컴퓨터 아틀라스였다. 이 기계에는 각 512 단어 페이지에 대해 하나의 항목이있는 연관(내용 주소 지정 가능)메모리가 있습니다. 감독자는 비 등가 중단을 처리하고 프로그램에 한 단계 저장소를 제공하기 위해 코어와 드럼 사이의 페이지 전송을 관리했습니다.윈도우 7205>

마이크로 소프트 편집

윈도우 3.페이징은 1990 년 윈도우 3.0 이후 마이크로소프트 윈도우의 특징이었다. 윈도우 3.스왑 파일로 사용하기 위해386SPART.PAR또는WIN386.SWP라는 숨겨진 파일을 만듭니다. 그것은 루트 디렉토리에서 일반적으로 있습니다,그러나 다른 곳에 나타날지도 모릅니다(전형적으로 창 전화번호부에서). 그 크기는 시스템에 얼마나 많은 스왑 공간이 있는지에 따라 달라집니다(제어판 아래에서 사용자가 선택한 설정”가상 메모리”에서 향상된 설정). 사용자가 이 파일을 이동하거나 삭제하면 다음에 창이 시작될 때”영구 스왑 파일이 손상되었습니다”라는 오류 메시지와 함께 블루 스크린이 나타납니다. 사용자가 파일을 삭제할지 여부를 선택하라는 메시지가 표시됩니다(존재 여부).

윈도우 95,윈도우 98 및 윈도우 나 비슷한 파일을 사용하고,그것에 대한 설정은 제어판 시스템 성능 탭 가상 메모리 아래에 있습니다. 페이지 파일의 크기는 1.5 에서 시작하여 실제 메모리의 크기이며 필요한 경우 최대 3 개의 실제 메모리를 확장합니다. 사용자가 실제 메모리가 낮은 시스템에서 메모리를 많이 사용하는 응용 프로그램을 실행하는 경우 이 크기를 기본값보다 높은 값으로 수동으로 설정하는 것이 좋습니다.페이징을 위해 사용되는 파일은pagefile.sys입니다. 페이지 파일의 기본 위치는 윈도우가 설치된 파티션의 루트 디렉토리에 있습니다. 페이지 파일에 사용 가능한 드라이브의 여유 공간을 사용하도록 구성할 수 있습니다. 그러나 부팅 파티션(예: 시스템이 죽음의 블루 스크린 후 커널 또는 전체 메모리 덤프 중 하나를 작성하도록 구성된 경우,윈도우 디렉토리를 포함하는 드라이브)에 페이지 파일을 가지고있다. 페이징 파일을 메모리 덤프에 대한 임시 저장소로 사용합니다. 시스템이 재부팅되면 페이지 파일의 메모리 덤프를 별도의 파일로 복사하고 페이지 파일에 사용된 공간을 해제합니다.

단편편집

이 섹션을 업데이트해야 합니다. 최근 이벤트 또는 새로 사용 가능한 정보를 반영하기 위해이 문서를 업데이트 도와주세요. (7 월 2014)

윈도우의 기본 구성에서 페이지 파일은 필요한 경우 초기 할당 이상으로 확장할 수 있습니다. 이런 일이 점차적으로 발생하면 크게 조각화되어 잠재적으로 성능 문제를 일으킬 수 있습니다. 이 문제를 피하기 위해 주어진 일반적인 조언은 윈도우가 확장되지 않도록 단일”잠긴”페이지 파일 크기를 설정하는 것입니다. 그러나 페이지 파일은 기본 구성에서 실제 메모리 총량의 150%인 채워진 경우에만 확장됩니다. 따라서 페이지 파일 지원 가상 메모리에 대한 총 수요는 페이지 파일이 확장되기 전에 컴퓨터의 실제 메모리의 250%를 초과해야 합니다.

확장할 때 발생하는 페이지 파일의 조각화는 일시적입니다. 확장된 영역이 더 이상 사용되지 않는 즉시(다음에 다시 부팅할 때,더 빨리)추가 디스크 공간 할당이 해제되고 페이지 파일이 원래 상태로 돌아갑니다.

페이지 파일 크기를 잠그는 것은 문제가 될 수 있습니다. 또한 페이지 파일은 순차적으로 읽거나 쓰는 경우가 거의 없으므로 완전히 순차적인 페이지 파일을 갖는 경우의 성능 이점은 미미합니다. 그러나 큰 페이지 파일은 일반적으로 더 많은 디스크 공간을 사용하는 것 외에 아무런 처벌없이 메모리가 많은 응용 프로그램을 사용할 수 있습니다. 조각난 페이지 파일 자체가 문제가 되지 않을 수도 있지만 가변 크기 페이지 파일의 조각화는 시간이 지남에 따라 드라이브에 여러 조각난 블록을 만들어 다른 파일을 조각난 상태로 만듭니다. 이러한 이유로 할당된 크기가 모든 응용 프로그램의 요구를 수용할 수 있을 만큼 충분히 크면 고정 크기의 연속 페이지 파일이 더 좋습니다.

필요한 디스크 공간은 최신 사양(예: 750 기가 바이트 디스크 드라이브에 6 기가 바이트 고정 크기 페이지 파일 또는 6 기가 바이트 메모리와 16 기가 바이트 고정 크기 페이지 파일 및 2 테라 바이트 디스크 공간이있는 시스템). 두 예 모두에서 시스템은 디스크 공간의 약 0.8%를 사용하며 페이지 파일은 최대 크기로 미리 확장됩니다.

페이지 파일 조각 모음은 전체 실제 메모리보다 훨씬 많은 메모리를 만성적으로 사용하는 경우 성능을 향상시키기 위해 때때로 권장됩니다. 이 보기는 임시 확장 결과 외에도 페이지 파일이 시간이 지남에 따라 조각화되지 않는다는 사실을 무시합니다. 일반적으로 페이지 파일 액세스와 관련된 성능 문제는 실제 메모리를 더 추가하여 훨씬 더 효과적으로 처리됩니다.

유닉스 및 유닉스 계열 시스템편집

유닉스 시스템 및 기타 유닉스 계열 운영 체제는 물리적 램이 가득 찼을 때 램의 디스크 공간을 대체하는 행위를 설명하기 위해”스왑”이라는 용어를 사용합니다. 이러한 시스템 중 일부에서는 하드 디스크의 전체 파티션을 스와핑하는 것이 일반적입니다. 이러한 파티션을 스왑 파티션이라고 합니다. 많은 시스템에는 스왑 파티션 만 포함하는 데이터 드라이브와 별도로 스와핑 전용 하드 드라이브 전체가 있습니다. 스와핑 전용 하드 드라이브를”스왑 드라이브”또는”스크래치 드라이브”또는”스크래치 디스크”라고합니다. 이러한 시스템 중 일부는 스왑 파티션으로의 스와핑 만 지원하고 다른 시스템은 파일로 스와핑을 지원합니다.

리눅스편집

참조: 리눅스 커널은 사실상 무제한의 스왑 백엔드(장치 또는 파일)를 지원하며 백엔드 우선 순위 할당도 지원합니다. 커널이 실제 메모리에서 페이지를 스왑할 때 사용 가능한 여유 공간이 있는 우선 순위가 가장 높은 백엔드를 사용합니다. 따라서 기본 장치를 병렬로 효율적으로 액세스할 수 있는 한 향상된 성능을 제공합니다.

스왑 파일 및 파티션 편집

최종 사용자 관점에서 버전 2.6 의 파일을 교환합니다.제한 사항은 스왑 파일이 기본 파일 시스템에 연속적으로 할당되어야 한다는 점입니다. 스왑 파일의 성능을 높이기 위해 커널은 기본 장치에 배치되는 위치에 대한 맵을 유지하고 직접 액세스하므로 캐시를 무시하고 파일 시스템 오버 헤드를 피할 수 있습니다. 에 관계없이,레드햇은 스왑 파티션을 사용하는 것이 좋습니다. 회전 자기 매체 장치인 하드디스크에 상주할 때 스왑 파티션을 사용하는 한 가지 이점은 데이터 처리량이 높거나 탐색 시간이 더 빠른 연속 하드디스크 영역에 배치할 수 있다는 것입니다. 그러나 스왑 파일의 관리 유연성은 스왑 파티션의 특정 장점보다 클 수 있습니다. 예를 들어,스왑 파일은 마운트 된 파일 시스템에 배치 할 수 있으며 원하는 크기로 설정할 수 있으며 필요에 따라 추가하거나 변경할 수 있습니다. 스왑 파티션은 유연하지 않습니다; 파티셔닝 또는 볼륨 관리 도구를 사용하지 않고는 확대할 수 없으므로 다양한 복잡성과 잠재적 다운타임이 발생합니다.

스왑 편집

스왑 은 사용 가능한 메모리에서 메모리 할당 요청을 충족 할 수 없을 때마다 시스템 페이지 캐시에서 페이지를 삭제하는 것과는 반대로 런타임 메모리에서 스와핑 할 때의 상대적 가중치를 제어하는 리눅스 커널 매개 변수입니다. 스왑은 0 에서 200 사이의 값으로 설정할 수 있습니다(포함). 값이 낮으면 커널이 페이지 캐시에서 페이지를 제거하는 것을 선호하는 반면,값이 높으면 커널이”콜드”메모리 페이지를 교체하는 것을 선호합니다. 기본값은60이며,더 높게 설정하면 콜드 페이지를 다시 바꿔야 할 경우(예:유휴 상태였던 프로그램과 상호 작용할 때)대기 시간이 길어질 수 있고,낮게 설정하면(0 도)캐시에서 제거된 파일을 다시 읽어야 할 경우 대기 시간이 길어질 수 있지만,콜드 페이지를 다시 바꿔야 할 가능성이 적기 때문에 대화형 프로그램의 응답성이 향상됩니다. 스와핑은 또한 하드디스크를 더 느리게 할 수 있습니다. 물론 기본값은 대부분의 워크로드에서 잘 작동하지만,예상 작업에 대한 데스크톱 및 대화 형 시스템은 일괄 처리 및 적은 대화 형 시스템이 증가 할 수 있습니다 동안 설정을 낮출 할 수 있습니다.

스왑 데스편집

현재 작업에 대해 시스템 메모리가 매우 부족하고 메모리 활동의 상당 부분이 느린 스왑을 통과하면 시스템이 실제로 작업을 실행할 수 없게 될 수 있습니다. 모든 프로세스가 스왑 대기 중일 때 시스템은 스왑 사망으로 간주됩니다.

잘못 구성된 메모리 오버 커밋으로 인해 스왑 사망이 발생할 수 있습니다.

“죽음에 교환”문제의 원래 설명은 엑스 서버에 관한 것이다. 키 입력에 응답하기 위해 사용되는 코드 또는 데이터가 주 메모리에 없는 경우,사용자가 키 입력을 입력하면 서버는 하나 이상의 페이지 폴트를 취하여 키 입력이 처리되기 전에 스왑에서 해당 페이지를 읽어야 하며 이에 대한 응답이 느려집니다. 이러한 페이지가 메모리에 남아 있지 않으면 다음 키 입력을 처리하기 위해 다시 오류가 발생하여 실제로 다른 작업을 정상적으로 실행하더라도 시스템이 실질적으로 응답하지 않습니다.6925>

여러 스왑 파일을 사용합니다. 이 별도의 파티션이나 장치에 대신 배치 할 수 있지만 기본(애플 권장)설치,루트 파티션에 배치합니다.

아미가오스 4 편집

아미가오스 4.0 은 램을 할당하고 물리적 메모리를 조각 모으기 위한 새로운 시스템을 도입했다. 그것은 여전히 조각 모음을 할 수없는 평면 공유 주소 공간을 사용합니다. 스와핑을 허용하는 슬래브 할당 방법 및 페이징 메모리를 기반으로합니다. 페이징은 아미가 오스 4.1 에서 구현되었지만 모든 실제 메모리가 사용되면 시스템을 잠글 수 있습니다. 스왑 메모리는 사용자가 물리적 램 만 사용하도록 선택할 수 있도록 언제든지 활성화 및 비활성화 될 수 있습니다.

Leave a Reply