Raspberry Pi에는 256MB의 RAM 만 있으므로 스왑 공간 (SD 카드 또는 연결된 USB 저장소)을 사용하고 싶습니다. 어떻게 설정합니까?
Raspberry Pi에는 256MB의 RAM 만 있으므로 스왑 공간 (SD 카드 또는 연결된 USB 저장소)을 사용하고 싶습니다. 어떻게 설정합니까?
답변:
Raspbian은 "표준"스왑 파티션 기반 솔루션 대신 스왑 파일 기반 솔루션 인 dphys-swapfile을 사용 합니다. 스왑 크기를 변경하는 것이 훨씬 쉽습니다.
구성 파일은 다음과 같습니다.
/etc/dphys-swapfile
내용은 매우 간단합니다. 기본적으로 내 Raspbian에는 100MB의 스왑이 있습니다.
CONF_SWAPSIZE=100
크기를 변경하려면 숫자를 수정하고 dphys-swapfile을 다시 시작해야합니다.
/etc/init.d/dphys-swapfile restart
편집 : Raspbian에서 기본 위치는 / var / swap이며 물론 SD 카드에 있습니다. 나는 그것이 나쁜 생각이라고 생각하므로 / etc / dphys-swapfile은 다음 옵션도 가질 수 있다고 지적하고 싶습니다. CONF_SWAPFILE = / media / btsync / swapfile
나는 단지 그것에 문제가있다, USB 스토리지는 자동 마운트되어 있으므로 잠재적 인 경쟁 (자동 마운트 대 스왑 온)
/var/swap이 왜 나쁜 생각 인지 명확히 할 수 있습니까?
스왑 공간을 아주 간단하게 설정할 수 있습니다. 예를 들어, USB 드라이브가 인 /dev/sdx경우 다음을 사용합니다 (이 경우 루트 여야합니다).
$ mkswap /dev/sdx
$ swapon /dev/sdx
이것은 전체 장치를 사용하므로 장치의 기존 데이터가 모두 손실 될 수 있습니다.
다음 loop과 같이 장치 를 사용하여 스왑 파일을 만들 수도 있습니다 .
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
스왑 파일이 더 이상 필요하지 않은 경우 (예 : USB 드라이브를 꺼내려면)를 사용해야합니다 swapoff <device>. 그렇지 않으면 시스템이 중단 될 수 있습니다.
그래도 조심 해야 합니다 . SD 카드는 읽기 / 쓰기 제한이 제한되어 있으며 수명이 단축됩니다. 외장 하드 드라이브를 사용하는 경우 문제가 없지만 속도가 매우 느립니다.
mkswap가 루트 파티션에서 복사하여 붙여 넣거나 실수로 실행되지 않도록 이것을 변경해야한다고 생각 합니다. sdx좋은 컨벤션 이라고 생각 합니다.
전혀하지 마십시오.
Raspberry Pi에서 스왑을 활성화 해서는 안됩니다 .
가능하지만 유용하지 않습니다. 클래스 10 SDHC 카드에서도 너무 느립니다. 또한 SD 카드의 수명이 단축됩니다.
모든 플래시 기반 저장 장치 (SD 카드, SDD, USB 썸 드라이브)에서 많은 플래시 블록 그룹이 지워지는 동안 시스템 전체의 일시 중지가 발생할 수 있습니다.
가능한 예외 :
Raspberry Pis에는 GigaBit Ethernet이 없지만 이론적 으로 네트워크 장치에서 스왑 공간을 확보하는 것이 가능 합니다. 리눅스 터미널 서버 프로젝트는 Wiki 의이 항목에 따라 서버에서 클라이언트로 제공 할 수 있습니다 .
이미 일부 NFS 마운트를 이미 보유한 누군가가 그 중 하나에서 스왑 파일을 사용하고 루프 마운트를 통해 마운트 한 방법을 보여주는 Foundation 포럼 주제 "Tip : nfs를 통한 스왑"을 발견했습니다 (Linux에서 허용하지 않기 때문에 필요할 수 있음). 직접 사용할 NFS 마운트). 원격 스왑 파일을 감안할 것 OS가 데이터 보유 손실되지해야한다 무선 링크가 너무 깨지기 쉬운 이럴 것이다 - 나는 단지 유선 이더넷 네트워크에 대한이 생각 것입니다. 또한 스왑을 끄고 완전히 비우기 전에 원격 서버를 종료하지 않아야합니다!