カーネルのコンパイル時間
.config
で設定できるカーネル構成オプションは 2 つあります。 ファイル:
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=10485760
これにより、ブート時に 10G の RAM ディスクを 1 つ作成するようにカーネルが構成されました。
注:
CONFIG_BLK_DEV_RAM_SIZE
単位は KB です。- コンピュータに実際に搭載されている RAM より多くのメモリを指定しないでください。
menuconfig
で [デバイス ドライバー] -> [ブロック デバイス] の下を見てください。
起動時間
カーネル ブート パラメータ ramdisk_size
を使用して、作成する RAM ディスクのサイズを指定できます。 .例:
kernel /vmlinuz-2.6.32.24 ro root=LABEL=/ rhgb quiet ramdisk_size=10485760
これで、マシンを起動してファイル システムを作成し、マウントして、ブロック デバイスとまったく同じように使用できます。
# mkfs.xfs /dev/ram0
# mount /dev/ram0 /mnt/ramdisk
ソース:
<オール>代わりに tmpfs を使用する必要があります。
mount -t tmpfs -o size=10g none /mnt/point
起動後にカーネル パラメータを変更せずに大きな RAM ディスクを作成するには、tmpfs を使用してファイルを作成し、ループ経由でマウントし、ファイル システム経由でマウントします。
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/
おそらく、複数の異なるレイヤーを通過すると、パフォーマンスが少し低下します...しかし、少なくとも機能します.