Linux Memory Cache Clear

Diğer herhangi bir işletim sistemi gibi, GNU/Linux da bellek yönetimini verimli bir şekilde ve bundan daha fazlasını uygulamıştır. Ancak herhangi bir işlem hafızanızı tüketiyorsa ve onu temizlemek istiyorsanız, Linux, ram önbelleğini temizlemenin veya temizlemenin bir yolunu sunar.

Linux'ta Önbellek Nasıl Temizlenir?

Her Linux Sistemi, herhangi bir işlemi veya hizmeti kesintiye uğratmadan önbelleği temizlemek için üç seçeneğe sahiptir. İşleme başlamadan önce önbelleği nasıl görebileceğimize bakalım.

free -h 

Yukarıdaki görsele baktığımız zaman 12G cache olduğunu görebiliyoruz. Peki bunu nasıl temizleyebiliriz?

1. Yalnızca PageCache'i temizleyin.

sync; echo 1 > /proc/sys/vm/drop_caches

2. Dişleri ve düğümleri temizleyin.

sync; echo 2 > /proc/sys/vm/drop_caches

3. Sayfa önbelleğini, dişleri ve düğümleri temizleyin. Bu komut dizimini veri kaybı olmaması için, uygulamalarınız aktif çalıştığı zamanlarda yapmayınız.

sync; echo 3 > /proc/sys/vm/drop_caches 

Çalışan uygulamam da herhangi bir aktif işlem olmadığı için, root kullanıcısı ile 3. seçeneği kullanarak herşeyi temizliyorum. Akabinde önbelleğin 1G düştüğünü görebiliyorum.

Aşağıdaki komutun açıklamamız gerekirse.

sync; echo 1,2,3 > /proc/sys/vm/drop_cashes

sync , dosya sistemi arabelleğini temizler. “;” Sıralı olarak çalıştırılarak ayrılan komuttur. Kabuk, sıradaki bir sonraki komutu çalıştırmadan önce her komutun sona ermesini bekler. Çekirdek belgelerinde belirtildiği gibi, drop_cache'e yazmak, herhangi bir uygulamayı/hizmeti öldürmeden önbelleği temizleyecektir, echo komutu ise dosyaya yazma işini yapıyor.

Disk önbelleğini temizlemeniz gerekiyorsa, yalnızca PageCache'i yani 1. seçeneği temizleyeceğinden, ilk komut kuruluşta ve üretimde en güvenli olanıdır . Pagecache , dentries ve inode'ları temizleyeceğinden, ne yaptığınızı bilene kadar yukarıdaki üçüncü seçeneği üretimde kullanmanız önerilmez .

Blog'a Dön