Soru Ücretsiz çıktıda tampon / önbellek satırının anlamı


Sunucum neden gösteriliyor?

            total      used      free   shared buffers    cached
    Mem: 12286456  11715372    571084        0   81912   6545228
-/+ buffers/cache:  5088232   7198224
   Swap: 24571408     54528  24516880

Belleği linux olarak hesaplama konusunda hiçbir fikrim yok. Sanırım 5088232, 7198224'ün özgür olduğu, yani 5GB RAM harcadığı anlamına geliyor?


151
2017-11-17 10:37


Menşei


serverfault.com/questions/23433/... - Kyle Brandt♦
linuxatemyram.com - Sasha


Cevaplar:


Değerlerin anlamı

İlk satır şu anlama gelir:

  • total: Toplam (fiziksel) RAM'iniz (çekirdeğin başlangıçta kendisini kalıcı olarak rezerve ettiği küçük bir miktar hariç); Bu yüzden ca. Muhtemelen sahip olduğunuz 11 GiB ve 12 GiB değil.
  • used: İşletim sistemi tarafından kullanılan bellek.
  • free: bellek kullanımda değil.

total = used + free

  • shared / buffers / cached: Bu, belirli amaçlar için bellek kullanımını gösterir, bu değerler used.

İkinci satır, ilk satır değerlerinin ayarlanmasını sağlar. İçin orijinal değer verir used  eksi toplam buffers+cached ve orijinal değeri free  artı toplam buffers+cached, dolayısıyla onun başlığı. Bu yeni değerler genellikle ilk sıradakilerden daha anlamlı.

Son satır (Swap:) takas alanı kullanımı (yani geçici olarak diske taşınan bellek içerikleri) hakkında bilgi verir.

Arka fon

Sayıların ne anlama geldiğini anlamak için, Linux'taki sanal bellek (VM) alt sistemi hakkında biraz arka plana ihtiyacınız var. Sadece kısa bir sürüm: Linux (çoğu modern işletim sistemi gibi) her zaman önbelleğe almak için boş RAM kullanmaya çalışır. Mem: free neredeyse her zaman çok düşük olacaktır. Bu nedenle hat -/+ buffers/cache: gösterilir, çünkü önbellekleri göz ardı ederken ne kadar bellek boş olduğunu gösterir; Hafıza kıt olursa, önbellek otomatik olarak silinir, bu yüzden gerçekten önemli değiller.

Bir Linux sistemi hafızada gerçekten düşük free değeri -/+ buffers/cache: çizgi azalıyor.

Sayıların anlamı hakkında daha fazla bilgi için, bkz. sorular:

Procps 3.3.10'daki değişiklikler

Çıkışını unutmayın free procps 3.3.10 (2014 yılında piyasaya sürüldü) olarak değiştirildi. Bildirilen sütunlar şimdi "total", "used", "free", "shared", "buff / Cache", "available"ve Linux kernel'in döşeme önbelleğini daha iyi hesaba katmak için bazı değerlerin anlamları değişti.

Görmek Debian hata raporu # 565518 motivasyon için ve İçindeki değişiklikler neler free 14.04'ten 16.04'e kadar çıktı? Daha fazla bilgi için


215
2017-11-17 11:42



Linux'un ne tür şeyler önbelleğe aldığını genişletebilir misin? Erişilen dosyalar mı yoksa ağ öğeleri mi? - CMCDragonkai
@CMCDragonkai: cevabı serverfault.com/questions/23433/... "önbellek" ve "arabellek" i oluşturan detaylar. - sleske
"Total = used + free" ifadesinin doğru olduğunu düşünmüyorum, makinemde aşağıdaki çıktılara bakın: $ free -h  total used free shared buff/cache available  Mem: 3.4G 585M 152M 11M 2.6G 2.5G  Swap: 4.0G 84M 3.9G - Sebastian
@Sebastian: Ah, ilginç. Görünüşe göre özgürlüğün değişmesi (3.3.10'da). Bunu söylemek için cevabımı düzenledim. Bu değişiklikle ilgileniyorsanız, yeni bir soru sormayı düşünün :-). - sleske
total = used + free + buff/cache - danger89


Daha basit, adım adım açıklamaya ihtiyaç duyan herkes için http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.htmlOnun açıklaması bana çok yardımcı oldu.


7
2018-02-13 22:06



meta.stackexchange.com/q/8231/133242 - Matt Ball


Tamponlar / önbellek satırı, programlar tarafından ne kadar bellek kullanıldığını (ilk olarak bu sütunlar) gösterir ve programların kullanılması için ücretsizdir (ikinci sütun). Oldukça ezoterik bir sayıdır ve pratikte çok fazla baktığınız bir şey değil.


2
2017-11-17 11:03



Ve ilk satır (mem hattı) ne anlama geliyor? - Muahmmad Zeeshan
Sistemde kurulu 12GB RAM'iniz var, 11,5GB'lık ve 0,5GB'lık ya da daha fazlası şu anda kullanılmıyor. Tamponlar (ağ bağlantıları, vb.) İçin kullanılan belleğin yaklaşık 82 MB'si kullanılırken, veri kopyalarının diskte saklanması için yaklaşık 6,5GB'lık bir alan kullanılır, böylece verilerin tekrar okunduğunda tekrar okunması gerekmez. - womble♦
@ Mahahammad: "82MB ücretsizdir." - Hayır, 57MiB ücretsizdir (ama bu gerçekten önemli değil, cevabımı gör). “Şimdi hepsi sistemin kendi sınırlarına ulaştığı anlamına geliyor” - Hayır, hiç de değil. Sistem, uygulamalara kolayca verebileceği, önbellekleme için kullanılan 6.9GiB'ye sahiptir, bu yüzden çok fazla yer var. Ayrıca swap kullanımı çok düşüktür (ony ca. 50MiB). Hafıza sıkılaşmaya başlarsa, swap kullanımı artacaktır. Şu anda sahip olduğunuz RAM'in neredeyse yarısını kullanıyorsunuz. - sleske
Bir noktada yeni bir soru sormayı düşündün mü? - womble♦
Katılmıyorum, arabellek / önbellek çizgisi sistemin gerçek boş belleği ve bu nedenle sistemin programlara yer olup olmadığını bilmek istiyorsanız en alakalı olanıdır. - eckes