8 Nisan 2013

Linux'ta RAM'i disk olarak kullanmak

Diskiniz "solid state" değilse, özellikle küçük ve çok sayıda yazma işlemi yaptığınızda bilgisayarı bir süre kullanamaz hale gelirsiniz. Örneğin ben üzerinde çalıştığım projelerde SQLite veritabanı kullanırken bu tür işlemleri çok yapıyorum ve hem diskin ömründen hem de zamandan kaybediyordum.

GB'larca kullanmadığım RAM'im varsa SSD diskin faydalarından neden geri kalayım ki diye düşünerek Google'da biraz araştırma sonucunda basit bir yöntem buldum. Aşağıdaki komutları sırayla vererek oluşturulan bir disk_on_ram (ismini istediğiniz gibi belirleyebilirsiniz) dizinini, RAM'de belirlediğim miktarda alanı disk olarak kullanabiliyorum Yani sqlite dosyasını buraya atıp üzerindeki işlemleri eskisine göre çok daha hızlı yaptıktan sonra işlenmiş halini alabiliyorum. Benzer diske sırasız yazma işlemi gerektiğinde yine bu alanı kullanıyorum.

sudo sysctl vm.swappiness=0
mkdir disk_on_ram
sudo mount -t tmpfs -o size=256M tmpfs disk_on_ram

İlk komutun ne yaptığından kısaca bahsedeyim. vm.swappiness, swap alanınının yüzde olarak ne sıklıkla kullanılacağını belirleyen bir sistem değişkenidir. Bunun standart değeri çoğu dağıtımda 60'tır. Bunun değeri 1 bile olsa tmpfs ile ramdisk yapmak mümkün olmuyor. Bu yüzden değeri 0'a indirdim. Eğer RAM'inizi tamamen kullanıyorsanız ve swap alanına ihtiyacınız oluyorsa bunu yapmanızı önermem, bunu yaptığım bilgisayarda 8GB RAM var ve günlük olarak en fazla 4GB kadarını kullanıyorum.

Hiç yorum yok: