Ayrıca tmpfsve ramfsdiğer bir seçenek de /dev/ram0blok 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 ext4dosya 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_nrParametre birçok RAM diskleri nasıl oluşturulacağını belirten (varsayılan olarak, bu yani 16 yaratır /dev/ram0yoluyla /dev/ram15). rd_sizeParametresi 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
truncateKomut 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ı tmpfsveramfs
Her ne kadar tmpfsve ramfsbir blok cihaz kullanmaktan daha verimli olsalar da , aşağıda bazı olumsuz yanları bulunmaktadır.
tmpfsdiske 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.
ramfsKurulumu 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ı dfprogram, 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ı cpprogram görünüşte delikleri okumaya doldurdu , ancak yazmaya başladı.
Hem tmpfsve ramfsgerçek daha farklı davranabilir ext4dosya 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