답변:
스왑 파일은 스왑 파티션보다 융통성이 있지만 오류가 많습니다. 파일 시스템 오류가 스왑 파일을 손상시킬 수 있습니다. 스왑 파일은 파일을 이동하거나 삭제할 수 없으므로 관리자에게 고통을 줄 수 있습니다. 최대 절전 모드에는 스왑 파일을 사용할 수 없습니다. 스왑 파일은 과거에는 약간 느 렸지만 요즘에는 그 차이가 무시할 만합니다.
스왑 파일의 장점은 크기를 미리 결정할 필요가 없습니다. 그러나 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을 사용하지 않고 시스템을 손상시킬 수있는 거대한 작업을 수행해야 할 때 시스템 관리자를 돕는 것입니다. 이 경우 그는 필요할 때 스왑 파일을 산발적으로 생성합니다.
그러나 어쨌든 둘 다 가질 수 있습니다.