Doba kompilace jádra
Existují dvě možnosti konfigurace jádra, které můžete nastavit v .config
soubor:
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=10485760
Toto nakonfigurovalo moje jádro tak, aby vytvořilo jeden ramdisk, který má při bootování 10G.
Poznámky:
CONFIG_BLK_DEV_RAM_SIZE
je v KB.- Nezadávejte více paměti, než kolik máte skutečně RAM v počítači.
- V
menuconfig
podívejte se do části Ovladače zařízení->Blokovat zařízení.
Doba spouštění
Velikost ram disků, které vytvoříte, můžete určit pomocí spouštěcího parametru jádra ramdisk_size
. Například:
kernel /vmlinuz-2.6.32.24 ro root=LABEL=/ rhgb quiet ramdisk_size=10485760
Nyní mohu zavést svůj počítač a vytvořit na něm souborový systém, připojit jej a používat přesně jako blokové zařízení.
# mkfs.xfs /dev/ram0
# mount /dev/ram0 /mnt/ramdisk
Zdroje:
- http://www.vanemery.com/Linux/Ramdisk/ramdisk.html [mrtvý]
- https://www.kernel.org/doc/Documentation/blockdev/ramdisk.txt
Místo toho byste k tomu měli použít tmpfs.
mount -t tmpfs -o size=10g none /mnt/point
Chcete-li po spuštění vytvořit velký ram disk, aniž byste si pohrávali s parametry jádra. Použijte tmpfs, vytvořte soubor, připojte jej pomocí smyčky a připojte jej prostřednictvím souborového systému:
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/
Pravděpodobně trochu snížení výkonu procházející několika různými vrstvami... ale alespoň to funguje.