Ubuntu RAM önbelleklerini anlık olarak temizlemek

____________________________________________________________________

Ä°ÅŸletim sistemleri çalışırken disk girdi çıktı iÅŸlemlerini hızlandırmak veya kullanıcıya daha hızlı hissettirmek amacıyla RAM üzerinde bir önbellek tutar. Windows altında bu çok fazla hissedilir gelmese de, görev yönetici programlarında Linux’ta boÅŸ bellek miktarının çok az kaldığını görebiliyoruz. Bu normal ÅŸartlarda olumsuz bir ÅŸey deÄŸil. RAM her ne kadar dolu görünse de, buradaki dosyalar bir ÅŸekilde sabit diskteki dosyaların kopyası ya da programların kullandığı veya ürettiÄŸi verilerin RAM yani fiziksel bellek üzerinde bulunan bir kopyası. Bu veriye ihtiyaç duyulduÄŸunda çekirdek yavaÅŸ olan diskte o dosyaya eriÅŸip onu belleÄŸe kopyalamak ile uÄŸraÅŸacağına, hemen onun RAM üzerindeki önbellekte hazır olan kopyasını okuyup iÅŸine bakabiliyor. Bu sabit diske oranla aşırı hızlı olan RAM sayesinde RAM kapasitesi yeterince büyükse olaÄŸanca bir performans artışı saÄŸlayabiliyor. Buradaki önbellekteki veriler, herhangi bir uygulama belleÄŸe ihtiyaç duyulduÄŸunda silinerek uygulamaya ihtiyacı oranında bellek saÄŸlayarak bellek sıkıntısı çekilmesini önlüyor. Bu ÅŸekilde sistem bu bellekler sayesinde olduÄŸundan daha hızlı kullanılabilir hale dönüşüyor.

Uçbirimde free komutunu çalıştırarak bellek kullanımımızla ilgili bilgi alabiliyoruz. Buffer ve Cache sütunları o anda önbellek olarak bellekte bulunan verinin miktarını gösteriyor. Ayrıca slabtop komutu da daha detaylı bilgi veriyor.

Ne var ki, bu önbellekler yeterince verimli çalışmadığında fiziksel belleÄŸi doldurarak çeÅŸitli sorunlara sebep olabiliyor. Benim karşılaÅŸtığım durum çok sayıda ofis belgesi, Ä°nternet sayfası vs. açıkken ve ÅŸarkı listesi okuma amaçlı diskten çok sayıda müzik parçasına eriÅŸim yapılmış ve bunlar önbellekleri doldurmuÅŸ iken, yeni bellek ihtiyacı olan uygulamalara bellek ayrılamaması. Ekran görüntüsü donuyor, fare imleci hariç hareket edebilen bir ÅŸey yok. Müzik çalıyorsa dona dona çalıyor. Ubuntu 12.04’te ara ara karşılaÅŸtığım bu durum, Ubuntu 12.10’da ise neredeyse her birkaç açışımda sistemi ortaya çıkan bu durum bir sorun oldu. Parmak belleÄŸimden sabit diskime 1 GB veri kopyalıyorum, aynı anda buffer önbelleklerimin kullanımı da 1 GB artıyor. 😀 Nautilus ile biraz geziyorum, birkaç yüz MB boÅŸ belleÄŸim kalıyor.

Bununla ilgili yapılacak çeşitli şeyler var ama biraz deneme yanılma gerektirdiğinden sonuçları, o konuda pek yazmak istemedim. Ama benzer bir durum ortaya çıktığında, yani önbellekler çok fazla dolduğunda ve sorun çıkarmaya başladıklarında bunları sistemi yeniden başlatmaya gerek kalmadan boşaltmanın bir yolu var.

Bunun için, öncelikle uçbirimi açıyoruz.

sudo su

komutundan sonra parolamızı girip devam ediyoruz. Sonrasında da gireceğimiz aşağıdaki komut fiziksel belleğimizde yer işgal eden önbelleklerimizi temizliyor.

echo 3 > /proc/sys/vm/drop_caches

Artık buffer silinmiş ve cache de önemli oranda boşaltılmış olacaktır. Sürekli bu durum yaşanıyorsa kalıcı farklı çözümler uygulanması gerek ama belleği o anlık için boşaltmak bu komutla kolayca yapılabiliyor. Ha bu sadece Ubuntu değil, çoğu Linux dağıtımı için geçerli bir şey.

Yorum yok

Henüz bir yorum yok.

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz