Como posso desalocar um RAMDISK no Linux? / dev / ram0?

5

Eu tenho jogado com RAMDISKs do Linux, como no dispositivo de bloco /dev/ram0 . Eu entendo que quando eu começo a escrever em um desses dispositivos, alguma RAM é alocada para ele.

Como faço para liberar a memória usada, digamos, por /dev/ram0 ? Dito de outra forma: como eu indico ao kernel do Linux que eu terminei e ele pode recuperar quaisquer recursos mantidos por /dev/ram0 ?

    
por RobM 05.08.2011 / 15:33

3 respostas

2

A menos que você formate o ramdisk em algo como

mke2fs -m 0 /dev/ram0

Os próprios ramdisks não ocupam nenhum espaço de memória.

Se você formatar e montar um disco virtual no entanto, a única maneira que eu lembro de fazer é usar o freeramdisk , mas isso foi há muito tempo atrás.

Alguns outros recursos que você pode querer conferir:

link

link

link

    
por 05.08.2011 / 17:05
0

/ dev / ram0 e outros são implementados pelo módulo do kernel do brd linux: Source - link , documentação do link modprobe brd : .

Tente descarregar (rmmod) o módulo com rmmod brd , essa é a única maneira de chamar a função brd_del_one e excluir o ramdisk.

O Freeram faz parte do link do pacote loadlin e é implementado como dispositivo de abertura para leitura / gravação e fazendo ioctl BLKFLSBUF

  char rname[256]="/dev/ram";
  char b[256];
  int f;
  f=open(rname,O_RDWR))
  ioctl(f,BLKFLSBUF);

que é definido no link como

   #define BLKFLSBUF  _IO(0x12,97)  /* flush buffer cache */
    
por 02.11.2017 / 14:54
-1

Passo 1: Considere o que exatamente já foi desenvolvido por todo o seu corpo

O Cap Vermelho produz dezesseis ramdisks automaticamente, embora não haja necessariamente "ativos" ou fazendo uso de quase qualquer RAM. Ele lista os produtos ram0: ram 19, porém somente ram0: ram15 são geralmente utilizáveis automaticamente. Para verificar esses produtos de bloqueio, use o método get:

[root]# ls -l /dev/ram*
lrwxrwxrwx 1 root root four Jun 12 00: thirty-one /dev/ram -> ram1

Etapa 2: melhorar o tamanho do ramdisk

O tamanho do Ramdisk pode ser controlado por meio de uma solução de linha de comando que é transmitida no kernel no decorrer do tronco. Como o GRUB pode ser o carregador de inicialização padrão para a Red-color Cap 9, eu transformarei /etc/grub.conf usando a nova solução de kernel. A solução real do kernel destinada ao tamanho do disco RAM pode ser: ramdisk_size=xxxxx , em que xxxxx pode ser o tamanho indicado com obstáculos de 1024 bytes. Pode fazer por você, eu vou complementar /etc/grub.conf para você configurar 16 ramdisks MB

Etapa 3: os dados formatam o ramdisk específico

Não há necessidade de você arquivar o formato do ramdisk específico como um processo de arquivo de registro no diário, portanto, a maioria de nós só utilizará o processo de arquivo ext2 comum. Quando eu desejo apenas usar um ramdisk em particular, eu só vou arquivar o formato /dev/ram0 :

Passo: Faça um anexo e anexe o ramdisk em particular

Hoje você formatou o ramdisk específico, você precisa fazer um anexo para fazer isso. Então você pode definitivamente anexar seu ramdisk atual junto com o trabalho com ele. Muitos de nós usarão o serviço específico /mnt/rd por causa dessas operações.

Atividade 5: Use o ramdisk

Desde que foi projetado, você pode facilmente replicar, deslocar, se livrar, revisar, junto com arquivos de dados de quantidade em volta do ramdisk, contanto que essas pessoas acabem com o partiton do disco rígido físico real. Esta é, na verdade, a posição ideal para dar uma olhada nos arquivos de dados descriptografados do GPG ou, possivelmente, no OpenSSL, além de uma posição fantástica apenas para gerar arquivos de dados que devem ser criptografados. Logo após o seu próprio host é definitivamente executado menor, um monte de registro ligado com arquivos de dados projetados em volta do disco ram deixaram.

Para desmontar este ramdisk, basta digitar o seu próximo:

[root]# umount -v /mnt/rd
/dev/ram0 umounted.
    
por 18.04.2013 / 07:17