Mengapa bukan linux yang menggunakan semua memori yang tersedia

0

Saya memiliki VPS linux yang memiliki 256 MB memori ( free hanya menemukan 248). Namun sepertinya saya masih memiliki 85 MB gratis, tapi itu swap untuk 255 MB. Kenapa ini?

free -m

              total       used       free     shared    buffers     cached
Mem:           248        245          3          0         41         40
-/+ buffers/cache:        163         85
Swap:         1971        255       1716
Devator
sumber

Jawaban:

3

Anda memiliki 3MB gratis, bukan 85MB. Karena Anda memiliki 255MB swap yang digunakan dan hanya 88MB memori yang berpotensi digunakan untuk menyimpan data yang telah ditukar, kernel tidak punya pilihan selain menukar setidaknya 167MB. Alasannya telah bertukar lebih dari itu adalah karena kernel menilai bahwa kinerja akan lebih baik jika menggunakan memori itu untuk cache disk (secara teknis, untuk cache halaman) daripada menggunakannya untuk menyimpan data aplikasi yang belum diakses baru-baru ini.

Alasan 3MB tetap bebas adalah untuk menangani semburan muatan dalam konteks di mana memori tidak dapat dengan mudah dibuat bebas atau diarahkan kembali. Misalnya, jika ada ledakan lalu lintas jaringan atau ketika disk I / O selesai.

David Schwartz
sumber
1
Untuk Mengapa Anda memiliki 3 bukannya 85, Linux menganggap cache lebih berharga daripada halaman aplikasi untuk kinerja sistem, sehingga tidak mencoba memuatnya dari swap.
Ignacio Vazquez-Abrams