Ayrıca tmpfs
ve ramfs
diğer bir seçenek de /dev/ram0
blok cihazdır. Son Ubuntu sürümlerinde, bu cihaz varsayılan olarak mevcut değildir, ancak üzerinden oluşturulabilir modprobe brd
.
Bu yaklaşım gerçek bir ext4
dosya sistemi yarattığı ve belirlediğiniz sınırı aşmadığı için daha öngörülebilirdir . Ancak kurulum için daha fazla adım alır ve RAM'i daha az verimli kullanır.
Brd çekirdek modülünü kullanma (/ dev / ram0)
4GB RAM disk oluşturmak ve başlatmak için:
mkdir /ramdisk
modprobe brd rd_nr=1 rd_size=$((4 * 1048576))
mkfs.ext4 /dev/ram0
mount /dev/ram0 /ramdisk
rd_nr
Parametre birçok RAM diskleri nasıl oluşturulacağını belirten (varsayılan olarak, bu yani 16 yaratır /dev/ram0
yoluyla /dev/ram15
). rd_size
Parametresi olarak boyutudur kilobayt . $(( ... ))
Sözdizimi kabuğunda aritmetik yapalım.
RAM diskini serbest bırakmak için, sökün ve brd
çekirdek modülünü çıkarın :
umount /ramdisk
modprobe -r brd
İçinde bir blok aygıtı oluşturma ramfs
Alternatif olarak, içinde bir blok cihaz oluşturabilirsiniz ramfs
:
mkdir /ramdisk-storage /ramdisk
mount -t ramfs ramfs /ramdisk-storage
truncate -s 4G /ramdisk-storage/ramdisk.img
mkfs.ext4 /ramdisk-storage/ramdisk.img
mount /ramdisk-storage/ramdisk.img /ramdisk
truncate
Komut on-demand o başlatılır şekilde belirli bir boyutta boş bir dosya (yani tükettiğini bellek) oluşturur.
RAM diskini serbest bırakmak için, diski çıkarın ve disk görüntüsünü silin:
umount /ramdisk
rm /ramdisk-storage/ramdisk.img
İle karşılaştırılması tmpfs
veramfs
Her ne kadar tmpfs
ve ramfs
bir blok cihaz kullanmaktan daha verimli olsalar da , aşağıda bazı olumsuz yanları bulunmaktadır.
tmpfs
diske değişebilir. Bu daha verimlidir, ancak saf bir RAM diski istediğiniz zamanlar olabilir:
- Çalıştığınız dosyalar hassastır (örneğin şifreli bir bölümdeki dosyalar).
- Performans testi yapıyorsunuz ve disk G / Ç'nin bir faktör olmasını istemiyorsunuz (SSD yazma zamanları çok fazla değişebilir).
- Büyük bir dosyayı açıyorsunuz ve SSD'nizi yıpratmak istemiyorsunuz.
ramfs
Kurulumu kolaydır, dosyaları sildikten sonra yer kazanmaz ve RAM’i daha verimli kullanır (RAM’de olduklarını bildiğinden sistem dosyaları arabelleğe almaz). Ancak kendine özgü olumsuz yönleri ve sürprizleri var:
Yardımcı df
program, alan kullanımını rapor etmiyor:
root@cello-linux:~# df -h /ramdisk
Filesystem Size Used Avail Use% Mounted on
ramfs 0 0 0 - /ramdisk
Boyut limit parametresi yok. Eğer ramdisk'e çok fazla koyarsanız, sisteminiz kilitlenir.
Seyrek dosyalar, en az beklediğiniz zaman seyrekleşebilir. Bu sabah bir VM görüntüsünü (150G ama diskte 49G kullanılmış) ramfs
(128G RAM'im) kopyaladım. İşe yaradı. Ben kopyalanan Ama gelenramfs
hedefe, benim sistem tepkisiz hale geldi. Yardımcı cp
program görünüşte delikleri okumaya doldurdu , ancak yazmaya başladı.
Hem tmpfs
ve ramfs
gerçek daha farklı davranabilir ext4
dosya sistemi. RAM'de bir blok aygıtı oluşturmak ve onu ilk kullanıma başlatmak bunu ext4
önler.
Daha ayrıntılı bir karşılaştırma için: https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt
mount -o size=16G -t tmpfs none /mnt/tmpfs