“Free -m” komutunun çıktısı nasıl yorumlanır?


48

Çıktısı free -m:

                     total    used    free    shared  buffers  cached
Mem:                  595      482     112         0       63     324
-/+ buffers/cache:              93     501
swap:                   0        0       0

Kullanılan hafızanın hangi değeri doğrudur, 482 veya 93?

Yanıtlar:


40

112 MB tamamen boş hafızaya sahipsiniz, ancak gördüğünüz 501 mb 'önbelleğe alınmış' hafıza olmadan. Bu, işletim sisteminin hafızanıza daha hızlı olması için bazı şeyler koyduğu anlamına gelir. Buna "kullanılmış" diyor (bu nedenle 'ücretsiz' numaranız yalnızca 112'dir), ancak ihtiyacınız olduğunda aslında sizin için kullanılabilir.

Bu iyi bir şey çünkü kullanılmayan hafıza işe yaramaz. Gerekirse önbellek hafıza silinebilir. Eskilerin "95 belleği temizlemeliyim" eskiden insanların Windows 95 için yaptıkları burada gerekli değil: hepsi güzel ve mutlu :)

Aradığınız numara 501 ücretsizdir (nedeniyle megabayt olarak -m).

bu sayfalara referans için bakınız:

http://www.linuxatemyram.com/
http://www.itworld.com/it-managementstrategy/280695/making-sense-memory-usage-linux


Temel olarak: "sadece ikinci satıra, arabellekleri / önbelleği olanı bak".
Nanne

25

Çıktıların yorumlanması free: Çıktı listelerinin
ilk satırı free:

  • total Toplam, fiziksel (sanallaştırma olmadığını varsayarak) belleğiniz
  • used Şu anda ne kadarının kullanıldığı (bir şey tarafından)
  • free Bunun ne kadarı tamamen ücretsizdir (hiç kullanılmaz)
  • shared (orada hiçbir şey yok, o sütunu yoksay)
  • buffers Çekirdek arabellekleri tarafından kullanılan bellek
  • cached Önbellek için kullanılan bellek

Son iki öğe, önbellek ve arabellek, belirli kullanıcı işlemlerine ayrılmamış bellektir. Genel olarak performansı iyileştirmek için çekirdek tarafından ayrılmış bellek, ancak "uygulama" belleği değildir. Bu alanlar, önbellekleme, bellek baskısı, uygulama G / Ç kalıpları vb. İle ilgili çekirdek politikalarına bağlı olarak büyür veya küçülür.

Bu iki sütun kullanıcı tarafından ayrılan hafıza olmadığından ve bölgeler kullanıcı ayırmalarını gerektiriyorsa bölgeleri daraltabilir (pratik olarak sıfıra), bir anlamda "serbest" olurlar - uygulamalarınız varsa çekirdek tarafından serbest bırakılabilen RAM var aktif olarak ihtiyacınız var.

İkinci satırın sana söylediği bu. Tamponu ve önbelleği usedsütundan kaldırır (bunun -anlamı budur) ve +bunları freesütuna ekler ( ) . (Yuvarlama sorunu olacak.)

(Son satır, takas alanınızın durumunu gösterir.)

Nezaket: https://unix.stackexchange.com/a/33549/14497

Öyleyse, sizin durumunuzda 112MB tamamen boş bir hafıza ve önbelleğe almak için kullanılan hafızayı göz önünde bulundurursanız, gerekirse kullanıcı uygulamalarına tahsis edilebilir; daha sonra 501 MB , kullanılabilecek gerçek maksimum hafızadır.


Bir bellek okuması arayan bir kişi, ne kadar belleğin tamamen boşaldığı, ancak ne kadarının ücretsiz olduğu ile asla ilgilenmez (veya neredeyse hiç). Önbellek hafızası 'kullanımda' ancak aynı zamanda kullanımı ücretsizdir, bu yüzden ona bakmalısınız.
Nanne

Neden böyle söylediğinden emin değilim? Görünüşe göre birileri kasten önbelleği kaldıracak (ki bu gerçekten kötü bir şey)? Mesele şu ki, bir şeyler doldurmak (kullanmak istediğiniz bir program gibi) bu hafızaya aslında bir seçenek. 112 sayısının mümkün olduğunca düşük olmasını istersiniz, ancak teoride hiçbir programı açamayacağınız anlamına gelir. Söyleyeceğim hedef değil. Ayrıca: bu önbellek sadece disk önbelleği değil, aynı zamanda sistem önbelleği ve benzeri şeyleri
Nanne

@ Anne, tamam. Katılıyorum dostum. Düzeltme için teşekkürler. Aynısını yansıtacak şekilde cevabımı güncelledim.
saji89

##### TEŞEKKÜR EDERİZ ALL @ Nanne @ devav2 @ saji89 BİLGİ PAYLAŞIMI İÇİN - SİZ
Müthişsiniz

10

@ Saji89 tarafından verilen cevap mükemmel, ancak bu günlerde satır free -martık yazdırılmıyor, -/+ buffers/cachebunun yerine kullanılabilir RAM miktarını availableilk satırdaki yeni bir sütuna koyuyor, örneğin:

ubuntu@pg_master:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          61406        1571         506       17131       59328       42150
Swap:             0           0           0
ubuntu@pg_master:~$ free -V
free from procps-ng 3.3.10

Satırları repolarında kaldıran ücretsiz (1) taahhüdünü okuyabilirsiniz . Ayrıca yeni availablesütun eklemek için taahhüt .


4

free komutu, kullanılmayan ve kullanılmış hafıza ve takas alanı hakkındaki bilgileri gösterir.

Aşağıda http://www.linfo.org/free.html tarafından verilen açıklama bulunmaktadır.

Mem etiketli ilk satır, tamponlara ve önbelleklere ayrılan hafıza miktarını içeren fiziksel hafıza kullanımını gösterir. Tampon hafıza olarak da adlandırılan bir tampon, genellikle HDD, klavye, yazıcı veya ağ gibi harici bir cihaza gönderilen veya alınan veriler için geçici bir saklama yeri olarak ayarlanan hafızanın bir kısmı olarak tanımlanır.

- / + tampon / önbellek ile başlayan ikinci veri satırı, o anda sistem önbellek önbelleğine ayrılan fiziksel bellek miktarını gösterir. Bu, uygulama programları açısından özellikle anlamlıdır, çünkü sistemdeki dosyalardan erişilen tüm (read () ve write () sistem çağrıları1) kullanılarak gerçekleştirilen dosyalardan erişilen veriler bu önbellekten geçer. Bu önbellek, HDD’den veya diğer diskten okuma ya da yazma ihtiyacını azaltarak veya ortadan kaldırarak verilere erişimi büyük ölçüde hızlandırabilir.

Swap ile başlayan üçüncü satır, toplam takas alanını ve şu anda ne kadar kullanımda olduğunu ve ne kadar kullanılabilir olduğunu gösterir.

Sisteminizin hafıza kullanımını analiz edelim

Sen kullanmış freemegabayt sonucunu görüntülemek için kullanılır '-M' seçeneği ile komutu

-m, --mega
              Display the amount of memory in megabytes.

Toplam hafıza 595 (Kullanılmış + boş)

Kullanılan: 482 Ücretsiz: 112

Sisteminiz tarafından 595 MB’tan 482MB, aktif programlar tarafından sadece 93 MB’ın kullanıldığı ve 324 MB’ın önbellekte kaldığı

Gelecekte herhangi bir programı çalıştırdığınızda, hangisinin daha fazla 120 MB gerektirdiğini söyleyin. Tüm 112MB (şu anda ücretsiz) verilecek ve kalan 8 MB aktif olmayan program tamponu / önbellekten alınacaktır.

Düzenleme : İyi açıklama sağlayan bu bağlantıyı buldu .


Bunun doğru olduğunu sanmıyorum. Eğer önbelleği atarsanız 93mb kullanılır, böylece 501 kalırsınız.
Nanne

Neden doğru olmadığını düşünüyorsun? OP sistemindeki boş hafıza 112MB + 324MB (önbelleğe alınmış). Böylece yeni bir program başladığında önce 112MB sonra önbellek kullanılacaktır.
devav2

temel olarak, çünkü 595-93=501 ve (yuvarlama için 1 mb ver ya da al) ve op'un 112aradığını düşündüğünüz sayı gibi görünüyor.
Nanne

501 doğrudur ve açıklamaya çalıştığım şey budur. 595'ten 482'si kullanılır. Bu programların sadece 93'ü aktif bellek kullanıyor. Böylece, 112 ücretsiz kullanılabilir + daha fazla gerekirse, daha önce kullanılmış ve şu anda aktif olmayan önbellekten bellek alınabilir.
devav2

tamam, o zaman katılıyorum :)
Nanne
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.