it-swarm-ko.tech

Linux는 왜 파일이 ​​아닌 스왑 파티션을 사용합니까?

나에게 스왑 파일이 더 유연한 것 같습니다.

32
Cheng

스왑 파일은 더 유연하지만 스왑 파티션보다 오류가 더 많습니다. 파일 시스템 오류로 인해 스왑 파일이 손상 될 수 있습니다. 파일을 이동하거나 삭제할 수 없기 때문에 스왑 파일은 관리자에게 고통 스러울 수 있습니다. 최대 절전 모드에는 스왑 파일을 사용할 수 없습니다. 스왑 파일은 과거에는 약간 느 렸지만 오늘날에는 그 차이가 미미합니다.

스왑 파일의 장점은 미리 크기를 결정할 필요가 없다는 것입니다. 그러나 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

28
Penz

완전성을 위해 내 답변을 추가하겠습니다.

@Gilles가 말했듯이 스왑 파일은 최대 절전 모드에 사용할 수 없습니다. 스왑 파일을 사용할 때 시스템은 스왑 파일의 헤더를 찾아야하지만이를 수행하려면 스왑 파일을 포함하는 파일 시스템을 마운트해야하며 저널링 된 파일 시스템 (예 : ext3, ext4 및 기본적으로 Linux에서 사용하는 모든 최신 파일 시스템은 디스크에서 다시 시작하는 동안 마운트 할 수 없습니다. (실제로 그렇게하는 방법이 있지만 상당히 번거 롭습니다.)

출처 : https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt

2
dr_

아마도 주된 이유는 주 커널 디스크 일시 중지가 스왑 파일에서 작동하지 않기 때문일 것입니다. 예를 들어 Debian wiki 지침은 필요한 경우 uswsusp을 (를) 설치하는 것입니다.

최근에는 파일 시스템이 btrfs 인 경우 스왑 파일이 작동하지 않으므로 배포에서 항상 스왑을 파티션으로 만드는 것이 가장 간단합니다.

커널 버전 2.6 이전에는 스왑에 파일을 사용하는 것이 파티션보다 성능이 떨어질 수 있다는 것이 막연하게 언급되었습니다. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15

1
sourcejedi

주로 파티션에있는 데이터에 대한 액세스 시간이 짧기 때문이라고 생각합니다. 스왑 파일의 요점은 시스템 관리자가 실제로 RAM이고 시스템을 손상시킬 수있는 대규모 작업을 수행해야 할 때 도움이되는 것입니다.이 경우 산발적으로 스왑을 생성합니다. 필요할 때 파일.

그러나 어쨌든 둘 다 가질 수 있습니다.

0
Bacon