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가 데이터 보유 손실되지해야한다 무선 링크가 너무 깨지기 쉬운 이럴 것이다 - 나는 단지 유선 이더넷 네트워크에 대한이 생각 것입니다. 또한 스왑을 끄고 완전히 비우기 전에 원격 서버를 종료하지 않아야합니다!