Pertanyaan Arti dari garis buffer / cache dalam output gratis


Mengapa server saya muncul

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

Saya tidak tahu tentang menghitung memori di linux. Saya pikir itu mengatakan bahwa 5088232 digunakan di mana sebagai 7198224 gratis, artinya itu sebenarnya memakan 5GB RAM?


150
2017-11-17 10:37




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


Jawaban:


Arti dari nilai-nilai

Baris pertama berarti:

  • total: RAM total (fisik) Anda (tidak termasuk sedikit yang secara permanen cadangan kernel sendiri saat startup); itu sebabnya itu menunjukkan ca. 11,7 GiB, dan bukan 12 GiB, yang mungkin Anda miliki.
  • used: memori digunakan oleh OS.
  • free: memori tidak digunakan.

total = used + free

  • shared / buffers / cached: Ini menunjukkan penggunaan memori untuk tujuan tertentu, nilai-nilai ini termasuk dalam nilai untuk used.

Baris kedua memberikan nilai garis pertama yang disesuaikan. Ini memberikan nilai asli untuk used  minus jumlah buffers+cached dan nilai asli untuk free  plus jumlah buffers+cached, maka judulnya. Nilai-nilai baru ini sering lebih berarti daripada baris pertama.

Baris terakhir (Swap:) memberikan informasi tentang penggunaan ruang swap (yaitu konten memori yang telah dipindahkan sementara ke disk).

Latar Belakang

Untuk benar-benar memahami arti angka-angka ini, Anda memerlukan sedikit latar belakang tentang subsistem memori virtual (VM) di Linux. Hanya versi singkat: Linux (seperti kebanyakan OS modern) akan selalu mencoba menggunakan RAM gratis untuk menyimpan caching, jadi Mem: free hampir selalu sangat rendah. Karena itu garisnya -/+ buffers/cache: ditampilkan, karena ini menunjukkan berapa banyak memori yang gratis ketika mengabaikan cache; cache akan dibebaskan secara otomatis jika memori menjadi langka, sehingga tidak terlalu penting.

Sistem Linux sangat rendah pada memori jika free nilai dalam -/+ buffers/cache: garis menjadi rendah.

Untuk detail selengkapnya tentang arti angka, lihat mis. pertanyaan-pertanyaan:

Perubahan dalam procps 3.3.10

Perhatikan bahwa output dari free diubah dalam procps 3.3.10 (dirilis pada tahun 2014). Kolom yang dilaporkan sekarang "total", "bekas", "gratis", "dibagikan", "penggemar / cache", "tersedia", dan arti dari beberapa nilai berubah, terutama untuk akun yang lebih baik untuk cache slab kernel Linux.

Lihat Laporan Bug Debian # 565518 untuk motivasi, dan Apa yang berubah dalam free output dari 14.04 ke 16.04 artinya? untuk informasi lebih detail.


215
2017-11-17 11:42



Bisakah Anda memperluas hal-hal apa yang mungkin Linux caching? Apakah itu file yang telah diakses atau jaringan barang? - CMCDragonkai
@ CMCDragonkai: Jawabannya serverfault.com/questions/23433/… alamat secara terperinci apa yang membentuk "cache" dan "buffer". - sleske
Saya tidak berpikir pernyataan "total = used + free" benar, lihat output berikut di mesin saya: $ 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, menarik. Tampaknya ouput gratis diubah (dalam 3.3.10). Saya mengedit jawaban saya untuk menyebutkan ini. Jika Anda tertarik dengan perubahan ini, pertimbangkan untuk mengajukan pertanyaan baru :-). - sleske
total = used + free + buff/cache - danger89


Untuk siapa pun yang membutuhkan penjelasan lebih sederhana, langkah demi langkah, periksa http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html, penjelasannya sangat membantu saya.


7
2018-02-13 22:06



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


Baris buffer / cache menunjukkan berapa banyak memori yang digunakan oleh program (pertama kolom tersebut), dan gratis untuk program yang digunakan (kolom kedua). Ini adalah angka yang cukup esoteris, dan bukan sesuatu yang benar-benar Anda lihat dalam praktik.


2
2017-11-17 11:03



Dan apa arti garis pertama (garis mem)? - Muahmmad Zeeshan
Bahwa Anda memiliki RAM 12GB yang terpasang di sistem, 11,5GB yang digunakan dan 0,5GB atau lebih saat ini tidak digunakan. Sekitar 82MB memori yang digunakan digunakan untuk buffer (koneksi jaringan, dll), sementara sekitar 6,5GB digunakan untuk menyimpan salinan data pada disk, sehingga data tidak perlu dibaca ulang jika diperlukan lagi. - womble♦
@Muhammad: "82MB gratis." - tidak, 57MiB gratis (tapi itu tidak terlalu penting, lihat jawaban saya). "Sekarang semuanya berarti bahwa sistem telah mencapai batasnya" - Tidak, tidak sama sekali. Sistem ini memiliki 6.9GiB yang digunakan untuk caching, yang dengan mudah diberikan ke aplikasi, jadi ada banyak ruang. Juga, penggunaan swap sangat rendah (ony ca. 50MiB). Jika memori mulai kencang, penggunaan swap akan meningkat. Saat ini Anda hampir tidak menggunakan setengah RAM yang Anda miliki. - sleske
Sudahkah Anda mempertimbangkan mengajukan pertanyaan baru di beberapa titik? - womble♦
Saya tidak setuju, garis buffer / cache adalah memori bebas yang sebenarnya dari sistem dan karena itu paling relevan jika Anda ingin tahu apakah sistem memiliki ruang untuk program. - eckes