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 loop
dispositivo) 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.
mkswap
na 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.conf
para 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_swap
se 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!