Tenho um Raspberry Pi antigo, um modelo B com 256Mb de RAM com o FreeBSD instalado ( 12.0-CURRENT
). Como o dispositivo tem tão pouca memória, pensei em tentar usar o swap compactado na RAM, para obter algo semelhante ao que o ZRAM
faz no Linux, então fiz o seguinte.
Eu tinha 209 Mb de RAM, 166 Mb grátis:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 42 166 0 0 0
Swap: 0 0 0
Criado um disco de memória com 50 MB, com -o compress
, para que os dados sejam compactados antes de serem gravados:
# mdconfig -a -t malloc -o compress -o reserve -s 50m -u 7
Ok, então pude ver que tenho menos 50Mb de RAM disponível:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 95 114 0 0 0
Swap: 0 0 0
Em seguida, ativei um dispositivo de troca no disco recém-criado:
# swapon /dev/md7
Então eu finalmente consegui 50Mb swap, que é mapeado para a RAM:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 94 114 0 0 0
Swap: 50 0 50
Então - minha primeira pergunta é, isso funcionará como esperado? (Quero dizer, os dados serão compactados quando as páginas forem trocadas para /dev/md7
?)
E também, por que - já que parece que ainda tenho 114M de RAM disponível - não consigo criar mais ramdisks?
# mdconfig -a -t malloc -o compress -o reserve -s 10m -u 8
mdconfig: ioctl(/dev/mdctl): Cannot allocate memory
Tags swap freebsd ramdisk raspberry-pi