GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso modificare la quantità e la dimensione dei ramdisk di Linux (/dev/ram0 - /dev/ram15)?

Tempo di compilazione del kernel

Ci sono due opzioni di configurazione del kernel che puoi impostare nel tuo .config file:

CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=10485760

Questo ha configurato il mio kernel per creare un ramdisk che è 10G al momento dell'avvio.

Note:

  • CONFIG_BLK_DEV_RAM_SIZE è in KB.
  • Non specificare più memoria di quanta ne hai effettivamente nel tuo computer.
  • In menuconfig guarda sotto Device Drivers->Block Devices.

Tempo di avvio

Puoi specificare la dimensione dei dischi ram che crei tramite il parametro di avvio del kernel ramdisk_size . Ad esempio:

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

Ora posso avviare la mia macchina e creare un file system su di essa, montarla e usarla esattamente come un dispositivo a blocchi.

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

Fonti:

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

Dovresti invece usare tmpfs per quello.

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

Per creare un disco ram di grandi dimensioni dopo l'avvio senza fare confusione con i parametri del kernel. Usa tmpfs, crea un file, montalo tramite loop e montalo tramite un filesystem:

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/

Probabilmente un po' di penalizzazione delle prestazioni attraverso più livelli diversi... ma almeno funziona.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  3. Quanto sono portatili /dev/stdin, /dev/stdout e /dev/stderr?

  4. Quando usare /dev/random vs /dev/urandom?

  5. Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

tty (/dev/tty ) vs pts (/dev/pts) in Linux

Come generare una password casuale in Linux usando /dev/random

Linux:cosa significa la lettera "u" in /dev/urandom?

Come Linux usa /dev/tty e /dev/tty0

echo o print /dev/stdin /dev/stdout /dev/stderr

Perché sono necessari < o > per usare /dev/tcp