logo

Linux'un önbelleğini temizle

Bu dersimizde Linux'ta RAM Önbelleğini temizlemeyi ve Swap alanını temizlemeyi öğreneceğiz.

Diğer tüm işletim sistemleri gibi GNU/Linux da bir bellek yönetim sistemi uygulamaktadır. Bununla birlikte, Linux'un bellek yönetimi diğer işletim sistemlerine göre çok daha verimli ve hatta daha çok kullanılmaktadır. Ancak bazı durumlarda bellek yönetimini kontrol etmek istediğinizde veya sisteminizin RAM'ını tüketen bir veya daha fazla işlem olduğunda. Böyle bir durumda bunu durdurmak istiyoruz; Linux temizlemenin birkaç yolunu sağlar (ram önbelleğini temizleme).

Linux'un önbelleğini temizle

Linux'ta Önbellek Nasıl Temizlenir?

Hemen hemen her Linux sisteminde önbelleği temizlemek için üç yöntem sağlanır. Bunlardan bazıları devam eden süreçleri veya hizmetleri kesintiye uğratmadan dikkate değer şekilde kullanılabilir. Üç yol aşağıdaki gibidir:

  1. Yalnızca PageCache'i temizle
  2. Dişleri ve düğümleri temizleyin
  3. Dişleri ve düğümleri temizle, PageCache'i temizle

Her üç yöntemi de ayrıntılı olarak tartışacağız ve pratik uygulamalarını da göreceğiz:

1. Yalnızca PageCache'i temizle-

Bu yöntem Linux'un önbelleğini temizlemenin en güvenli yollarından biridir çünkü devam eden işlemleri, uygulamaları ve hizmetleri öldürmeden önbelleği temizleyebilir. Bunun, üretimde kullanılabileceği için önbelleği temizlemenin en güvenli yolu olduğu söyleniyor ve yalnızca PageCache'i temizliyor. Bu yöntemde aşağıdaki komutlar kullanılır:

Emretmek

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

Açıklama:

Yukarıdaki komutta ' senkronizasyon ' dosya sistemi arabelleğini temizlemek için kullanılır ve komut ' kullanılarak ayrılır ; ' sıralı bir şekilde yürütülür.

Ancak kabuk, dizideki bir sonraki komutun yürütülmesine başlamadan önce her komutun yürütülmesini veya sonlandırılmasını bekler.

drop_caches Çekirdek Dokümantasyonunda da açıkça belirtildiği gibi, çalışan diğer uygulamaları veya hizmetleri öldürmeden veya etkilemeden önbelleği temizlemek veya temizlemek için kullanılır. ' Eko ' komutu dosyalara yazma işini yapar.

Terminali kullanarak PageCache'i Temizleme Adımları:

Aşama 1 - Terminali Linux'ta açın ve aşağıdaki komutu yazın ve enter tuşuna basın. Komut yürütüldüğünde, örnekte gösterildiği gibi sistem belleği hakkındaki bilgileri görüntüleyecektir:

Emretmek

 free 

Yukarıdaki komut, ne kadar bellek kullanıldığını görüntülemek ve toplam kullanılabilir bellek, takas belleği vb. gibi diğer faktörleri görüntülemek için kullanılır. Bunu kullanabiliriz. özgür ' komutu, her yöntemi kullanırken hemen önce ve sonra.

Bellek tahsisindeki değişiklikleri kolayca görebilmemiz veya tespit edebilmemiz için asıl komutu çalıştırmadan önce ve sonra 'free' komutunu kullanmak gerekir. Tüm sürecin gerçekte nasıl çalıştığını anlamak için bir örnek görelim:

Örnek

Linux'un önbelleğini temizle

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

Bu yöntem, dişlerin ve inode'ların hafızasını temizlemek için kullanılır. Tıpkı ilk yönteme benzer ancak biraz farklıdır çünkü PageCache belleğini temizlemek yerine hem dişlerin hem de inodeların belleğini temizlemek için kullanılır. Yine de yukarıda tartıştığımız ilk yönteme çok benziyor. Bu yöntemde kullanılan komut aşağıda verilmiştir:

Emretmek

javascript yüklemesi
 # sync ; echo 2 > proc / sys / vm / drop_caches 

Bu yöntemin nasıl uygulanacağını anlamak için bir örnek görelim:

Örnek

Linux'un önbelleğini temizle

3. Dişleri ve düğümleri temizleyin, PageCache'i Temizleyin

En etkili yöntemlerden biridir. Bununla birlikte, geleneksel olarak ne yaptığınızı bilene kadar kullanılması tavsiye edilmez çünkü özellikle üretimde kullanımı en güvenli yöntem olarak kabul edilmez. Bu yöntemde kullanılan komut, PageCache'i, dişleri ve düğümleri aynı anda temizleyen 'echo 3 >' komutunu kullanır.

Emretmek:

 # sync ; echo 3 > / porc / sys / vm / drop_caches 

Aslında nasıl çalıştığını daha ayrıntılı olarak anlamak için verilen örneği göz önünde bulundurun:

Örnek:

Linux'un önbelleğini temizle

Not: Ne yaptığınızı bilmiyorsanız üretimde kullanmanız önerilmez çünkü yukarıda tartıştığımız gibi PageCache'i, dişleri ve inode'ları anında temizleyecektir.

Takas alanı

Genel olarak takas alanı, Fiziksel Belleğin kullanımı neredeyse zirveye ulaştığında kullanılır. Yani sistem daha fazla bellek kaynağına ihtiyaç duyduğunda ve fiziksel ram dolduğunda, etkin olmayan tüm sayfalar takas bellek alanına aktarılır.

Bununla birlikte, takas hafıza alanı da sisteme küçük ama etkili miktarda Ram olarak yardımcı olur. Yine de Swap Space'in Fiziksel Ram olarak değerlendirilmesi şüphesiz önerilmez.

java'da arraylist'te sıralama

Linux'ta takas alanı nasıl temizlenir?

Sisteminizdeki takas belleğini temizlemek için Takas işlemini kapatmanız yeterlidir. Bu, tüm verileri takas belleğinden RAM'e geri taşıyacaktır. Bu aynı zamanda sisteminizde bu işlemi destekleyecek yeterli RAM'in bulunduğundan emin olmanız gerektiği anlamına da gelir.

Bunu yapmanın kolay bir yolu, 'serbest-m' Takas'ta, RAM'de ne kullanıldığını görmek için komut verin ve ardından Takas'ı devre dışı bırakın.

Kapattıktan sonra, işlemin tamamlanması için biraz zaman tanımak üzere 30 saniye veya daha fazla beklemeli ve ardından Takas'ı tekrar açmalısınız. Bu, takas belleği önbelleğini temizler ve yeniden etkinleştirir, ancak Takas'ı temizlemeden önce sisteminizin mevcut (veya varsayılan) ayarını görmelisiniz.

Sisteminizin takas edilebilirliğinin mevcut ayarını görmek için, çıktıda gösterildiği gibi aşağıdaki komutu kullanarak terminali açmanız yeterlidir:

 cat /proc/sys/vm/swappiness 

Çıktı

Linux'un önbelleğini temizle

Gördüğünüz gibi sistemimizin güncel Swappiness değeri '60' saniyedir. Ancak değiştirmek isterseniz 0 ile 100 arasında herhangi bir yere ayarlayabilirsiniz. Bu değeri düzenleme (güncelleme) işlemi oldukça basittir. Hepsi, Terminal'e aşağıdaki komutu yazmanız ve enter tuşuna basmanız gerekir:

Emretmek:

 sudo sysctl vm.swappiness=x 

(Burada x ayarlamak istediğimiz takas değeridir)

Yukarıdaki çıktıda gördüğünüz gibi sistemimizin mevcut swap değeri (veya Default değeri) 60'tır. Swap değerini 40 olarak değiştirmeye çalışalım.

1. tuşuna basarak Terminali açın. Ctrl+Alt+T Klavyede.

Linux'un önbelleğini temizle

2. Terminal açıldığında aşağıdaki resimde gösterildiği gibi aşağıdaki komutu yazın ve enter tuşuna basın:

linux hangisi
 sudo sysctl vm.swappiness=40 

Çıktı

Linux'un önbelleğini temizle

Not: Bu komutu superUser (root user) ayrıcalıklarıyla çalıştırmamız gerektiğinden sizden Şifre girmenizi isteyebilir.

Doğrulama

Takas değerinin başarıyla güncellendiğini doğrulamak için aşağıdaki komutu yazın ve enter düğmesine basın:

 cat /proc/sys/vm/swappiness 

Çıktı

Linux'un önbelleğini temizle

Çıktıda görebileceğiniz gibi swap değerini başarıyla 40'a güncelledik.

Takas Alanını Temizle

Takas alanını temizlemek için işlem oldukça basittir çünkü sadece şunu yapmamız gerekir: bisiklet sürmek Takas, tüm verilerin veya etkin olmayan sayfaların Takas hafıza alanından RAM'e geri aktarılması nedeniyle. Takas işlemini sonlandırdıktan sonra 30 saniye beklemeniz ve yeniden başlatmanız veya takas alanında tekrar geçiş yapmanız gerekir.

Yararlı Komutlar:

Takas Alanını temizlememize yardımcı olacak bazı temel komutlar şunlardır:

Linux'un önbelleğini temizle

Bellek Takasını temizleme adımları

Takas alanını veya belleği temizlemek için bu komutları nasıl kullanacağımızı görelim:

Aşama 1. ' tuşuna basarak Terminali açın Ctrl+Alt+ T ' klavyede.

Adım 2. Terminal açıldığında, ' yazın sudo -i ' komutu çünkü ihtiyacımız olabilir süper kullanıcı ayrıcalıkları yukarıda verilen komutları çalıştırmak için:

Linux'un önbelleğini temizle

Aşama 3. Bellek kullanımını görüntülemek için 'free -m' komutunu yazın. bisiklet sürmek the Takas :

Linux'un önbelleğini temizle

Adım - 4 Şimdi ' yazın Değiştirme -a ' komutunu verin ve aşağıda gösterildiği gibi Takas işlemini kapatmak için enter tuşuna basın:

Linux'un önbelleğini temizle

Adım 5. Sonra bisiklet sürmek Swap en az 40 saniye bekler.

Adım 6. Şimdi 'swap-a' yazın ve Swap'ı yeniden etkinleştirmek için enter tuşuna basın. Bellek kullanımındaki farkı (veya değişikliği) görmek için, aşağıda gösterildiği gibi 'free-m' komutunu bir kez daha çalıştırın:

Linux'un önbelleğini temizle

Umarız bu, kendinizi böyle bir durumda bulursanız sisteminizin takas belleğini temizlemenize yardımcı olacaktır.