Ramdisk Ubuntu 10.04


12

Masaüstüm için Ubuntu 10.04 (64bit) kullanıyorum.
Makinede 5GB RAM var.

RAM disk (1G veya 2G) kullanmak istiyorum ancak bunu nasıl yapabileceğimi bilmiyorum.

RAM diskin herhangi bir açık kaynaklı ürünü var mı?

Yanıtlar:


18

Teknoloji çekirdeğe yerleştirilmiştir, fazladan herhangi bir araca ihtiyacınız yoktur. Aslında, zaten görebileceğiniz birkaç RAM diskiniz var (kullanmamalısınız, sistem için ayrılmıştır).

grep -w tmpfs /proc/mounts

Takılı 2GB RAM disk kurmak /ramdiskiçin şu satırı ekleyin /etc/fstab:

ramdisk  /ramdisk  tmpfs  mode=1777,size=2g

Ardından diski komutla bağlayın mount /ramdisk(yeniden başlattığınızda otomatik olarak yapılacaktır).

Belirtilen boyut bir maksimum değerdir, disk yalnızca üzerinde bulunan dosyalar kadar bellek kullanır.


/tmpBir RAM diski olarak değiştirebilirsiniz . Gelen /etc/fstabkoymak yukarıdaki satıra /tmpyerine /ramdiskdaha sonra yeniden,.

/tmpBir RAM diski olarak değiştirdikten sonra ilk kez yeniden başlattığınızda, içinde bulunan dosyalar /tmpgizlenir. Zararsız, ancak biraz disk alanı boşa harcıyorlar. Bunları ( RAM diskinde yeniden başlattıktan sonra) temizleyerek/tmp

mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt

mount --bindKomut yapar /mntkök dosya sisteminin bir görünüm kopyası; ancak RAM diski artık /tmpkök görünümünde kararsız olsa da, hiçbir şey belirsiz değildir /mnt/tmp.

EKLENDİ : Yeniden /tmpbaşlatmadan bir RAM diskine geçebilirsiniz , bu biraz daha karmaşıktır. Satırı /etc/fstabyukarıdaki gibi ekleyin , ardından aşağıdaki komutları çalıştırın:

mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .

Ardından bir /tmp.oldsonraki yeniden başlatmanızdan sonra silin .

Sadece dosyaları taşıyamazsınız nedeni /tmp.oldile /tmpbazı kritik programlar açık dosyaları olması /tmp, örneğin /tmp/.X11-unix/X0başlatıldığında X sunucusu dinler ve her GUI programı açılır. Bir dosyayı farklı bir dosya sistemine taşımak, dosyayı kopyalamak ve eskisini silmek anlamına gelir, böylece X sunucusu hala dinlemeye devam eder, /tmp.old/.X11-unix/X0ancak X istemcileri /tmp/.X11-unix/X0boşuna iletişim kurar . Bir sunucuda, dikkatli olursanız bir hamle ile kaçabilirsiniz.


@giles: Bunu fstab ve rebooting değiştirmeden yapmanın bir yolu var mı? Karşılık gelen bir mkfs yöntemi, ardından bir bağ var varsayıyorum ama "man mkfs" çok yararlı değildi.
hotei

1
@hotei: Yeniden başlatma yalnızca geçiş /tmpyapmak içindir tmpfs. Gerekli değil ve nasıl yapılacağını açıklamak için cevabımı düzenledim, ancak daha karmaşık. Hiçbir Orada var mkfshazırlamak için hiçbir temel depolama, çekirdek kolları her şey var, çünkü içeriyordu.
Gilles 'SO- kötü olmayı kes'

@giles: Güncelleme için teşekkürler. Mount'ın fstab satırını okurken "sihir gerçekleştiği" kısmı kaçırdım. Şimdi neden işe yaradığını anladığımı düşünüyorum.
hotei

Bunun fark edilir bir hızlanma ile sonuçlanıp sonuçlanmadığını sorabilir miyim?
Robert Massaioli

@Robert: Bence netbook'umun çok yavaş SSD'sinde fark edilir bir hızlanmaya neden oldu (esas olarak senkronizasyonlar birkaç saniye sürebilir ve /tmpdiskte senkronizasyon sıklığını arttırır), ancak bu güvenilir olmayan bir öznel izlenimdir. Ben hiç kıyaslama denemedim.
Gilles 'SO- kötü olmayı kes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.