penggunaan memori nyata

15

jika saya mengerti dengan benar, dalam output berikut yang dihasilkan oleh gratis, 3535m apakah memori bebas sebenarnya tersedia untuk aplikasi, hanya 413m yang digunakan, apakah ini benar? perlu beberapa klarifikasi tentang perbedaan antara Mem dan - / + buffer / baris cache.

bebas-m
             jumlah yang digunakan buffer bersama gratis yang di-cache
Mem: 3949 3854 95 0 9 3431
- / + buffer / cache: 413 3535
Swap: 2047 1322 725

sumber

Jawaban:

16

The Mem: totalAngka adalah jumlah total RAM yang dapat digunakan oleh aplikasi. Ini adalah total RAM yang diinstal pada sistem, minus:

  • memori dicadangkan oleh perangkat keras (seringkali memori video jika kartu grafis tidak memiliki RAM sendiri);
  • memori yang digunakan oleh kernel itu sendiri.

Total itu termasuk:

  • free: memori yang saat ini digunakan untuk tujuan apa pun;
  • shared: sebuah konsep yang tidak ada lagi. Tersisa di output untuk kompatibilitas mundur (ada skrip yang mengurai output dari free). (Pada sistem saat ini Anda biasanya akan melihat nilai-nilai bukan nol karena sharedtelah digunakan untuk menunjukkan memori yang secara eksplisit dibagikan melalui mekanisme memori bersama . Pada sistem yang lebih lama, itu termasuk file yang dipetakan oleh lebih dari satu proses dan memori yang dapat dibagikan yang tetap dibagikan setelahnya fork().)
  • buffers: memori yang didukung oleh file, dan yang dapat ditulis ke disk jika diperlukan;
  • cache: memori yang didukung oleh file, dan yang dapat direklamasi kapan saja (perbedaannya buffersadalah buffer harus disimpan ke disk sebelum digunakan kembali, sedangkan cache terdiri dari hal-hal yang dapat dimuat ulang dari disk);
  • used -buffers/cache: memori yang digunakan oleh aplikasi (dan tidak keluar untuk bertukar).

Dalam keadaan darurat, sistem dapat berjalan tanpa buffer dan cache, menyimpan RAM untuk aplikasi dan secara sistematis melakukan pembacaan dan penulisan disk tanpa caching. -/+ buffers/cacheAngka - angka menunjukkan jumlah RAM yang digunakan langsung oleh aplikasi ( usedkolom) dan jumlah RAM yang tidak digunakan oleh aplikasi ( freekolom).

Walaupun ini bisa sangat bervariasi, sistem yang sehat biasanya memiliki sekitar setengah RAM yang dikhususkan untuk aplikasi dan setengahnya dikhususkan untuk buffer dan cache. Kecuali Anda menjalankan server file khusus, sistem Anda memiliki lebih banyak RAM daripada yang diperlukan untuk apa yang sedang Anda lakukan. Jika free - buffers/cacheangkanya rendah, itu akan menunjukkan sistem yang tidak memiliki cukup RAM (bertentangan dengan kepercayaan yang tersebar luas, memiliki banyak memori yang ditujukan untuk buffer dan cache penting untuk kinerja sistem, dan mencoba untuk menyimpan lebih banyak memori untuk aplikasi akan membuat 99,99% dari sistem lebih lambat).

The swapline langsung, itu menunjukkan jumlah swap yang digunakan (baik oleh aplikasi atau tmpfspenyimpanan), dan jumlah yang tidak.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
"shared: sebuah konsep yang tidak ada lagi." - sepertinya diperkenalkan kembali antara tahun 2011 dan 2016: unix.stackexchange.com/questions/307015/…
Marisha
3

Ya kau benar. Buffer dan cache digunakan oleh OS tetapi segera tersedia untuk aplikasi. OS bersedia untuk membatalkan dan membuang beberapa cache untuk memenuhi permintaan memori berikutnya.

n. 'kata ganti' m.
sumber