O Raspberry Pi possui apenas 256 MB de RAM, então eu gostaria de usar o espaço de troca (no cartão SD ou no armazenamento USB conectado). Como faço para configurá-lo?
O Raspberry Pi possui apenas 256 MB de RAM, então eu gostaria de usar o espaço de troca (no cartão SD ou no armazenamento USB conectado). Como faço para configurá-lo?
Respostas:
O Raspbian usa o dphys-swapfile , que é uma solução baseada em arquivo de troca, em vez da solução "padrão" baseada em partição de troca. É muito mais fácil alterar o tamanho da troca.
O arquivo de configuração é:
/etc/dphys-swapfile
O conteúdo é muito simples. Por padrão, meu Raspbian tem 100 MB de swap:
CONF_SWAPSIZE=100
Se você deseja alterar o tamanho, modifique o número e reinicie o dphys-swapfile:
/etc/init.d/dphys-swapfile restart
Edit: No Raspbian, o local padrão é / var / swap, que (é claro) está localizado no cartão SD. Eu acho que é uma péssima idéia, gostaria de salientar que o arquivo / etc / dphys-swapfile também pode ter a seguinte opção: CONF_SWAPFILE = / media / btsync / swapfile
Eu só tenho problema com isso, o armazenamento USB é montado automaticamente, então uma corrida em potencial aqui (montagem automática vs. swapon)
/var/swapé uma má ideia?
Você pode configurar o espaço de troca de maneira simples. Por exemplo, se sua unidade USB for /dev/sdx, você usaria (você deve ser o root para isso):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Observe que isso usaria o dispositivo inteiro e você provavelmente perderá todos os dados existentes nele.
Você também pode criar um arquivo de troca (usando um loopdispositivo) como este:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Quando você não precisar mais do arquivo de troca (se quiser ejetar a unidade USB, por exemplo), deverá usá-lo swapoff <device>. Não fazer isso provavelmente resultará em falha do sistema.
Você deve ter cuidado, porém . Os cartões SD têm limites limitados de leitura / gravação e diminuirão sua vida útil. Se você estiver usando um disco rígido externo, tudo bem, mas será muito lento.
mkswapna partição raiz. Eu acho que sdxé uma boa convenção.
Não faça isso de jeito nenhum.
Você não deve ativar a troca no Raspberry Pi.
Embora seja possível, não é útil. Mesmo em um cartão SDHC classe 10, é muito lento. Além disso, você reduzirá a vida útil do cartão SD.
Em qualquer dispositivo de armazenamento baseado em flash (cartões SD, SDD, pen drives USB), também é provável que você veja pausas em todo o sistema enquanto um grande grupo de blocos flash é apagado.
Possíveis exceções:
Raspbmc usa /etc/init/swap.confpara configurar a troca via arquivo / swap. Ele primeiro verifica a presença de /home/pi/.enable_swap.
Se você excluir /home/pi/.enable_swap, o arquivo de permuta não será criado e, em seguida, recrie-o touch /home/pi/.enable_swapse precisar ativar o swap e reiniciar.
É uma pena que os Raspberry Pis não possuam GigaBit Ethernet, mas é pelo menos teoricamente possível ter espaço de troca em um dispositivo de rede - o Linux Terminal Server Project pode oferecê-lo do servidor aos clientes de acordo com este item em seu wiki .
Encontrei um tópico do Fórum da Fundação "Dica: Troque por nfs" que mostra como alguém que já tinha algumas montagens NFS já instaladas usou um arquivo de troca em um deles e o montou através de uma montagem em loop (possivelmente necessária porque o Linux não permite Montagem NFS para ser usada diretamente). Dado que o swap de arquivo remoto irá armazenar dados que o sistema operacional não deve perder Eu só considerar este para uma rede Ethernet com fio - uma ligação sem fios seria IMHO muito frágil. Além disso, é claro que você não deve permitir que o servidor remoto seja desligado sem desligar o swap e permitir que ele esvazie completamente primeiro!