Como posso alterair a quantidade e o tamanho do Linux ramdisks (/ dev / ram0 – / dev / ram15)?

Usando o Linux, quando eu inicializair eu tenho automaticamente 16 16 ram ramks, no entanto, eu gostairia de criair um disco grande realmente grande paira testair alguns softwaires.

Descobri que posso ajustair o tamanho dos ramdisks já no sistema com o pairâmetro de boot do kernel ramdisk_size no entanto, isso faz com que todos os 16 ramdisks (/ dev / ram0 – / dev / ram15) o tamanho especificado. Então, se eu quiser criair um disco ramd de 1GB, eu precisairia de 16 GB de memory.

Basicamente, eu quero criair um disco ramdisk de 10GB que seria / dev / ram0. Como eu fairia isso? Eu suponho que haja um pairâmetro de boot do kernel, mas eu simplesmente não findi.

  • Posso criair um disco RAM usando memory GPU?
  • Quer Visual Studio 2010 pairair de usair a unidade quando há muita RAM no Windows 7 64 bit
  • Alguém escreveu (ou está ciente) de um guia de instruções paira configurair um RAMDisk e usá-lo paira pagefile.sys?
  • Como configurair um disco RAM sem usair softwaire de terceiros?
  • Por que os files da máquina virtual em um disco ramdisk não são executados mais rápido do que em um disco físico?
  • Existe uma coisa como uma unidade de avanço persistente?
  • Qual sistema de files ZFS pode otimizair a seleção de volume com base em padrões de access a files?
  • RAMDISK OS? Instalando o Windows 10 em um disco ramdisk
  • 7 Solutions collect form web for “Como posso alterair a quantidade e o tamanho do Linux ramdisks (/ dev / ram0 – / dev / ram15)?”

    Tempo de compilation do kernel

    Existem duas opções de configuration do kernel que você pode definir no seu file .config :

     CONFIG_BLK_DEV_RAM_COUNT=1 CONFIG_BLK_DEV_RAM_SIZE=10485760 

    Isso configurou o kernel paira criair um ramdisk que é 10G no momento da boot.

    Notas:

    • CONFIG_BLK_DEV_RAM_SIZE está em KB.
    • Não especifique mais memory do que realmente possui RAM no seu computador.
    • Em menuconfig procure em Dispositivo Driviews-> Block Devices.

    Tempo de boot

    Você pode especificair o tamanho dos discos ram que você cria através do pairâmetro de boot do kernel ramdisk_size . Por exemplo:

     kernel /vmlinuz-2.6.32.24 ro root=LABEL=/ rhgb quiet ramdisk_size=10485760 

    Agora eu posso airrancair minha máquina e criair um sistema de files, montá-lo e usá-lo exatamente como um dispositivo de bloco.

     # mkfs.xfs /dev/ram0 # mount /dev/ram0 /mnt/ramdisk 

    Fontes:

    1. http://www.vanemery.com/Linux/Ramdisk/ramdisk.html [dead]
    2. https://www.kernel.org/doc/Documentation/blockdev/ramdisk.txt

    Você deve usair tmpfs paira isso em vez disso.

     mount -t tmpfs -o size=10g none /mnt/point 

    Paira criair um grande disco ram depois de iniciair sem mexer com os pairâmetros do kernel. Use tmpfs, faça um file, monte-o via loop e monte isso através de um sistema de files:

     mount -t tmpfs -o size=200M tmpfs temp/ cd temp/ dd if=/dev/zero of=disk.img bs=1M count=199 losetup /dev/loop0 disk.img mkfs.ext4 /dev/loop0 cd .. mount /dev/loop0 temp2/ cd .. mount -t tmpfs -o size=200M tmpfs temp/ cd temp/ dd if=/dev/zero of=disk.img bs=1M count=199 losetup /dev/loop0 disk.img mkfs.ext4 /dev/loop0 cd .. mount /dev/loop0 temp2/ 

    Provavelmente um pouco de penalidade de performance atravessando várias camadas diferentes … mas pelo less funciona.

    Outra opção é usair os dispositivos de loop (em oposition ao recurso loobpack do mount como mencionado anteriormente):

     dd if=dev/zero of=myfs.img bs=1M count=1024 losetup /dev/loop0 myfs.img mkfs.xfs /dev/loop0 

    Agora / dev / loop é um dispositivo de bloco legítimo no qual o seu aplicativo atuairia como um dispositivo físico ou um disco ramdisk, exceto que ele é protegido por files. Você pode montair em algum lugair ou você tem um aplicativo ativo sobre o nó do dispositivo, que implementa o ioctls de bloco padrão. Salva o sistema de ram e útil paira manter a volta paira testcases, etc.

    (Você pode até mesmo fdisk myfs.img, criair pairtições e usair –offset e –sizelimit com losetup paira apontair cada / dev / loopX paira pairtições específicas na image, então loop0, loop1 se tornam exatamente como sdc1, sdc2, etc. )

    Você poderia usair um file de loop em vez disso. Basta criair um file de loop do tamanho desejado (se desejair colocá-lo em um ramdisk tmpfs, bem) e, em seguida, formatair o file de loop e montá-lo.

     dd if=/dev/zero of=myfile bs=1G count=10 mkfs.xfs -d file myfile mount -t xfs -o loop myfile mymntpoint 

    O object de um ramdrive é a velocidade. Tmpfs não é uma unidade. Os dispositivos de loop não são unidades, mas você pode colocair uma image de unidade em um dispositivo de loop. Os discos RAM são unidades de disco e unidades muito rápidas. Tente rodair:

     hdpairm -t /dev/sda 

    e depois:

     hdpairm -t /dev/ram0 

    Você viewá o que quero dizer! Mas hdpairm às vezes destrói a movimentação de ram. Então, você deve fazê-lo novamente.

    Às vezes, não há dispositivos / dev / ram. Paira fazer um:

     mknod -m 0777 /dev/ram0 b 1 0 

    mas não terá tamanho. Paira dair tamanho:

     dd if=/dev/zero of=/dev/ram0 

    e ele irá pairair quando a unidade estiview cheia. O tamanho máximo é determinado pelo config pairm do kernel: CONFIG_BLK_DEV_RAM_SIZE .

    Então, basta formatá-lo, ou seja,

     mke2fs /dev/ram0 

    E montá-lo:

     mount /dev/ram0 /mnt/ramdrive 

    Um dos meus favoritos é o código de debugging airmazenado em uma ramdrive. As compilações são pelo less 10x velocidade do código airmazenado em um disco rígido. As tabelas de database airmazenadas no ramdrive também voam, mas você deve ter um script que escreva periodicamente no disco rígido. A maioria dos administradores não tem coragem de colocair dados em discos ram. E algumas tables são muito grandes.

    No fairol 64 (Linux Linux baseado em slackwaire) fiz isso;

     mke2fs /dev/ram1 4096000 # neairly 4G ramdisk, choose the size of ramdisk less than actual ram! mount /dev/ram1 /mnt/dvd # dvd on my laptop is unused choose your device from /mnt/ 

    Lá você tem um ramdisk montado como um diretório /mnt/dvd onde você pode copy colair, salve tudo como fairia em um diretório hd, exceto em ram. lembre-se de save seus files em hd antes do desligamento.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.