Como você cria blocos RAM Disc na demanda?

1

Eu aprendi que posso fazer modprobe brd rd_nr=1 rd_size=4585760 max_part=1 se eu quiser criar um dispositivo de bloco de memória RAM em /dev/ram0 , mas digamos que eu quero liberar o dispositivo (para liberar o RAM), excluí-lo e criar outro. Como eu faria isso executando modprobe brd rd_nr=1 rd_size=4585760 max_part=1 novamente não parece criar outro dispositivo ram em /dev

Recrie as etapas:

1) criar disco: modprobe brd rd_nr=1 rd_size=4585760 max_part=1

2) use o disco de memória RAM para alguma tarefa arbitrária: ex: dd if=/dev/zero of=/dev/ram0 count=1000

3) libere a memória blockdev --flushbufs /dev/ram0

4) excluir o arquivo do dispositivo: rm /dev/ram0

5) tente criar outro: modprobe brd rd_nr=1 rd_size=4585760 max_part=1

6) ls /dev/ram* me dá um erro

Eu sei que posso alterar o rd_nr para qualquer número que eu deseje, mas quero poder criá-lo rapidamente.

Edit: Eu não quero criar um tmpfs, meu caso de uso requer um dispositivo de bloco

    
por sreya 27.03.2018 / 01:38

2 respostas

2

Você não deve excluir /dev/ram0 . Ele será excluído quando você executar sudo rmmod brd , o que libera o espaço e remove o módulo. Você pode então começar de novo a partir de modprobe .

    
por 27.03.2018 / 10:35
2

Eu não estou familiarizado com / dev / ram, mas você pode fazer algo semelhante com tmpfs e dispositivos de loop:

mkdir /ramdisks
mount -t tmpfs tmpfs /ramdisks
dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100
losetup /dev/loop0 /ramdisks/disk0
mke2fs /dev/loop0
...
losetup -d /dev/loop0
rm /ramdisks/disk0
    
por 27.03.2018 / 02:25

Tags