Pertanyaan-pertanyaan ini secara singkat mencantumkan format perintah bebas, mencatat bahwa buffer adalah memori kernel yang harus ditulis ke disk dan cache adalah data file yang tidak perlu ditulis ke disk.
Di sistem saya, tidak seperti kebanyakan kali saya menjalankan gratis, buffer menempati lebih dari 10% RAM. Biasanya, buffer adalah nilai kecil, hampir seperti token.
Pertanyaan saya adalah, apa sebenarnya yang ada di area yang disebut buffer? Bisakah saya mencarinya dengan lsof
? Apakah itu terdiri dari wilayah file terbuka yang belum dihapus? Apakah itu wilayah file yang dipetakan memori? Apa itu?
Sistem berjalan dengan baik dan hanya sedikit swap yang digunakan, sehingga kinerjanya baik.
Jawaban yang Diterima:
free
menarik datanya dari /proc/meminfo
slkwr133701:/usr/src/linux # free
total used free shared buffers cached
Mem: 2053456 434572 1618884 0 77888 201820
slkwr133701:/usr/src/linux # cat /proc/meminfo
MemTotal: 2053456 kB
MemFree: 1618736 kB
Buffers: 77928 kB
....
Ini mengacu pada memori yang digunakan untuk penyimpanan blok I/O sementara.
Kernel harus menetapkan dan membebaskan unit ukuran yang sama secara konstan seperti transfer blok I/O, paket jaringan, dan buffer soket
Anda dapat melihat cache dan alokasi buffer dengan lebih baik dengan menjalankan slabtop
Sebagai tanggapan atas pertanyaan penggunaan Anda:Sistem biasanya akan mengalokasikan lebih banyak blok daripada yang dibutuhkan, tetapi ketika “tekanan memori” meningkat, blok tambahan ini akan dilepaskan.