답변:
스왑 파일은 스왑 파티션보다 융통성이 있지만 오류가 많습니다. 파일 시스템 오류가 스왑 파일을 손상시킬 수 있습니다. 스왑 파일은 파일을 이동하거나 삭제할 수 없으므로 관리자에게 고통을 줄 수 있습니다. 최대 절전 모드에는 스왑 파일을 사용할 수 없습니다. 스왑 파일은 과거에는 약간 느 렸지만 요즘에는 그 차이가 무시할 만합니다.
스왑 파일의 장점은 크기를 미리 결정할 필요가 없습니다. 그러나 Linux에서는 여전히 스왑 파일의 크기를 온라인으로 조정할 수 없습니다. 스왑 파일의 등록을 해제하고 크기를 조정 한 다음 다시 등록해야합니다 (또는 다른 파일을 작성하고 이전 파일을 제거해야 함). 따라서 스왑 파티션과 비교할 때 Linux의 스왑 파일에는 큰 이점이 없습니다. 주로 고정 장치가 아닌 일시적으로 더 많은 가상 메모리가 필요할 때 유용합니다.
스왑 파티션은 필요한 모든 것이 주소 지정 가능한 메모리 풀일 때 파일 시스템에 대한 종속성을 피하기 때문에 선호 될 수 있습니다.
그러나 스왑 파티션 대신 또는 스왑 파티션 외에 스왑 파일을 사용할 수있는 것은 없습니다.
파일을 작성하십시오.
dd if=/dev/zero of=/extraswap bs=1M count=512
파일 내용을 초기화하십시오.
mkswap /extraswap
사용해:
swapon /extraswap
작동하는지 확인하십시오.
free -m
부팅 할 때 항상 스왑 파일을 사용하려면 / etc / fstab을 편집하고 추가하십시오
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
갑자기 여분의 스왑 공간이 필요할 경우 터미널에 입력 할 수 있도록 영원히 사용하고 있습니다 .alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
아마도 주된 이유는 기본 커널 디스크 일시 중단이 스왑 파일에서 작동하지 않기 때문입니다. 예를 들어 데비안 위키 지침은 uswsusp
필요한 경우 설치 하는 것입니다.
보다 최근에는 파일 시스템이 btrfs
인 경우 스왑 파일이 작동하지 않으므로 배포에서 항상 스왑을 파티션으로 만드는 것이 가장 간단합니다.
커널 버전 2.6 이전에는 스왑을 위해 파일을 사용하는 것이 파티션보다 성능이 떨어질 가능성이 모호합니다. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
완성도를 높이기 위해 본인의 답변을 추가하겠습니다.
@Gilles가 말했듯이 스왑 파일은 최대 절전 모드로 사용할 수 없습니다. 스왑 파일을 사용할 때 시스템은 스왑 파일의 헤더를 찾아야하지만이를 위해서는 스왑 파일을 포함하는 파일 시스템을 마운트해야하며 저널링 된 파일 시스템 (예 : ext3, ext4 및 Linux에서 사용되는 모든 최신 파일 시스템) -디스크에서 재개하는 동안에는 마운트 할 수 없습니다. (실제로 그렇게하는 방법이 있지만 상당히 번거 롭습니다.)
출처 : https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
나는 주로 파티션에있는 데이터에 대한 액세스 시간이 더 짧기 때문이라고 생각합니다. 스왑 파일의 요점은 시스템 관리자가 실제로 RAM을 사용하지 않고 시스템을 손상시킬 수있는 거대한 작업을 수행해야 할 때 시스템 관리자를 돕는 것입니다. 이 경우 그는 필요할 때 스왑 파일을 산발적으로 생성합니다.
그러나 어쨌든 둘 다 가질 수 있습니다.