Q: 리눅스 커널에서 스왑 파일 대신 스왑 파티션을 사용하는 이유는 무엇인가요?
A: 리눅스 커널은 스왑 파일(swap file)이나 스왑 파티션(swap partition)을 모두 사용할 수 있습니다. 그렇지만 대개의 경우 스왑 파일 대신에 스왑 파티션을 사용하고 있습니다. 설치 프로그램은 파티션을 나누는 과정에서 스왑 파티션을 만들 것을 권장하며, 대부분 스왑 파티션을 만들어 부팅 후 이를 바로 사용할 수 있도록 합니다.
이렇게 별도의 스왑 파티션을 사용하는 이유는 스왑 파일을 사용하는 경우 스왑 파일에 접근하기 위해 파일 시스템을 거쳐야 하고 (VFS와 각 파일 시스템 드라이버), 파일의 특정 블럭을 읽고 쓰기 위해 inode에 있는 블럭 테이블들을 추적해야 하는 등 많은 오버헤드가 발생하기 때문입니다. 이와 달리 raw swap partition을 사용하면 파티션에 있는 블럭들을 바로바로 접근할 수 있기 때문에 스왑 파일을 이용하는 것보다 더 효율적입니다. 어떤 테스트에 의하면 다섯배 가량 속도 차이가 있다는 이야기도 있습니다.
스왑 파일을 이용하려면 dd 명령으로 파일을 만들고, mkswap 명령으로 스왑 파일을 설정한 후 swapon 명령으로 스왑 파일을 사용한다고 알려주면 됩니다. 자세한 것은 mkswap에 관한 매뉴얼을 참조하시기 바랍니다.
by flyduck 2000/06/28
출처 : http://linux.flyduck.com/faq/index.php?cmd=read§ion=kernel-general2&num=3
A: 리눅스 커널은 스왑 파일(swap file)이나 스왑 파티션(swap partition)을 모두 사용할 수 있습니다. 그렇지만 대개의 경우 스왑 파일 대신에 스왑 파티션을 사용하고 있습니다. 설치 프로그램은 파티션을 나누는 과정에서 스왑 파티션을 만들 것을 권장하며, 대부분 스왑 파티션을 만들어 부팅 후 이를 바로 사용할 수 있도록 합니다.
이렇게 별도의 스왑 파티션을 사용하는 이유는 스왑 파일을 사용하는 경우 스왑 파일에 접근하기 위해 파일 시스템을 거쳐야 하고 (VFS와 각 파일 시스템 드라이버), 파일의 특정 블럭을 읽고 쓰기 위해 inode에 있는 블럭 테이블들을 추적해야 하는 등 많은 오버헤드가 발생하기 때문입니다. 이와 달리 raw swap partition을 사용하면 파티션에 있는 블럭들을 바로바로 접근할 수 있기 때문에 스왑 파일을 이용하는 것보다 더 효율적입니다. 어떤 테스트에 의하면 다섯배 가량 속도 차이가 있다는 이야기도 있습니다.
스왑 파일을 이용하려면 dd 명령으로 파일을 만들고, mkswap 명령으로 스왑 파일을 설정한 후 swapon 명령으로 스왑 파일을 사용한다고 알려주면 됩니다. 자세한 것은 mkswap에 관한 매뉴얼을 참조하시기 바랍니다.
by flyduck 2000/06/28
출처 : http://linux.flyduck.com/faq/index.php?cmd=read§ion=kernel-general2&num=3
