Linux에서는 파티션에 ext3 및 reiserfs와 같은 항목을 선택할 수 있습니다. 스왑 파티션의 경우 "스왑"을 선택하면됩니다. 실제로 어떤 파일 시스템입니까? ext3 파티션을 만들어 스왑 파티션으로 만들 수 있습니까? 어떻게 다른가요?
Linux에서는 파티션에 ext3 및 reiserfs와 같은 항목을 선택할 수 있습니다. 스왑 파티션의 경우 "스왑"을 선택하면됩니다. 실제로 어떤 파일 시스템입니까? ext3 파티션을 만들어 스왑 파티션으로 만들 수 있습니까? 어떻게 다른가요?
답변:
스왑은 실제 파일 시스템이 아닙니다. 특별한 구조가없는 원시 주소 지정 가능 메모리 인 디스크의 예약 된 부분입니다.
mkswap은 몇 가지 추가 정보가 포함 된 스왑 영역의 헤더를 만듭니다. util-linux-ng 패키지의 swapheader.h에서 :
struct swap_header_v1 {
char bootbits[1024]; /* Space for disklabel etc. */
unsigned int version;
unsigned int last_page;
unsigned int nr_badpages;
unsigned int padding[125];
unsigned int badpages[1];
};
헤더 버전 1이 현재 사용됩니다. 그것은 스왑의 원시 구조 뒤에있는 모든 마술에 관한 것입니다.
스왑 파티션에는 파일과 디렉토리가 없기 때문에 파일 시스템이 필요하지 않다고 생각합니다. 스왑 파티션은 가상 RAM 장소입니다.
리눅스는 스왑 파티션과 스왑 파일의 두 가지 형태의 스왑 공간을 가지고 있습니다. 스왑 파티션은 스왑에만 사용되는 하드 디스크의 독립적 인 섹션입니다. 다른 파일은 그곳에있을 수 없습니다. 스왑 파일은 시스템과 데이터 파일 사이에있는 파일 시스템의 특수 파일입니다.
두 가지 중요한 이유로 스와핑이 필요합니다. 첫째, 시스템이 실제로 사용 가능한 것보다 많은 메모리를 필요로 할 때 커널은 덜 사용 된 페이지를 스왑하고 메모리를 즉시 필요로하는 현재 응용 프로그램 (프로세스)에 메모리를 제공합니다. 둘째, 시작 단계에서 응용 프로그램이 사용하는 많은 수의 페이지는 초기화에만 사용될 수 있으며 다시는 사용되지 않습니다. 시스템은 해당 페이지를 스왑하고 다른 응용 프로그램이나 디스크 캐시를 위해 메모리를 비울 수 있습니다.
스왑 공간을 만들 수있는 두 가지 방법이 있습니다 : 파일 시스템 스왑과 장치 (또는 원시) 스왑. 파일 시스템 스왑을 사용하면 파일 시스템에서 파일을 만들고 스왑 공간으로 사용합니다 (pagefile.sys가있는 창에서 볼 수있는 것처럼). 장치 스왑을 사용하면 스왑을 위해 특별히 만든 파티션으로 스왑됩니다.
어떤게 더 좋아:
이 논쟁은 다음과 같은 이유로 "오래된"시대에 훨씬 더 흥미로 웠습니다.
장치 스왑이 "더 나은"이유 : 원시 파티션으로 스왑하기 때문에 inode 및 기타 파일 시스템 오버 헤드가있는 파일 시스템의 모든 추가 오버 헤드를 처리 할 필요가 없기 때문에 더 빠릅니다.
그러나 오늘날이 주장은 실제로 적용되지 않습니다. 요즘 디스크 액세스 속도가 빨라짐에 따라 장치 스왑은 파일 시스템 스왑보다 시간이 많이 걸리지 않습니다.
파일 시스템 스왑이 "더 나은"이유 : 훨씬 쉽게 크기를 변경할 수 있습니다. 파티션 크기를 변경하면 새 파일을 만드는 것보다 훨씬 어렵습니다.
그러나 오늘날 원시 파티션 대신 LVM을 사용하는 많은 사람들이 스왑 공간을 쉽게 축소하고 확장 할 수 있습니다.
오늘날에는 훨씬 더 어리 석습니다. 요즘 대부분의 서버는 성능상의 이유로 메모리를 가득 채우는 것만으로도 가치가 있습니다. (이 토론은 RAM을 사용하기가 더 어려울 때 훨씬 인기가 많았으며 서버에 4GB에서 8GB의 RAM 만 넣는 것이 일반적이었습니다)
FILESYSTEM SWAP을 사용하는 이유 (및 일반적인 스왑)
요즘 나는 4gig swap onl로 설치하도록 지시하고 모든 Linux 설치에 동일한 구성 / 이미지를 사용합니다. Oracle 설치에는 Oracle I이있는 시스템의 경우 더 높은 스왑 사용량이 필요하므로 파일 시스템 스왑으로 나머지를 작성합니다. 응용 프로그램에 스왑 요구 사항이있을 수 있으며이 경우 파일 시스템 스왑을 사용하여 나중에 추가 할 수 있습니다.
도움이 되나요?
나는 리눅스에서 이것을하는 방법에 대한 자세한 지침을 여기에있다 : http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/