Ini adalah perbezaan antara Windows dan Linux dalam pengurusan memori Pada pandangan pertama, sistem Linux memakan memori kita (Linux makan ram saya), tetapi sebenarnya ini juga merupakan ciri pengurusan memorinya.
Berikut adalah hasil penggunaan arahan percuma untuk melihat memori pelayan fail makmal kami Pilihan -m bermaksud menggunakan MB sebagai unit:
Barisan output kedua menunjukkan penggunaan memori sistem:
Mem: jumlah = 3920MB,
digunakan(digunakan) = 1938MB,
percuma (terbiar) = 1982MB,
dikongsi (memori dikongsi) = 0MB,
penampan = 497MB,
cache = 1235MB
Nota: Empat item pertama agak mudah difahami. Tiada perkataan yang sesuai untuk menterjemah penimbal dan cache
Baris keluaran ketiga menunjukkan apa yang diperoleh berdasarkan baris kedua -/+ penimbal/cache:
– penimbal/cache digunakan = Mem digunakan – penimbal – cache = 1938MB – 497MB – 1235MB = 205MB
+ penimbal/cache percuma = Mem percuma + penimbal + cache = 1982MB + 497MB + 1235MB = 3714MB
Barisan output ketiga menunjukkan penggunaan partition swap:
Swap: jumlah = 4095MB
digunakan(terpakai) = 0MB
percuma(terbiar)= 4095MB
Memandangkan sistem pada masa ini mempunyai memori yang mencukupi, partition swap tidak digunakan.
Baris ketiga hasil keluaran di atas mungkin lebih sukar untuk difahami Mengapa baris data ini perlu ditunjukkan kepada pengguna Apakah maksud penggunaan memori tolak sistem penimbal/memori yang dicache? ingatan bermaksud Apa maksud ingatan?
Sesuatu dalam jadual di atas mewakili memori "buffer/cached" dalam arahan percuma Memandangkan memori ini memang digunakan dari perspektif sistem pengendalian, tetapi jika pengguna ingin menggunakannya, memori ini boleh dikitar semula dengan cepat oleh. pengguna. Program menggunakannya, jadi dari perspektif pengguna, memori ini harus diklasifikasikan sebagai terbiar.
Kembali ke output hasil dengan arahan percuma sekali lagi Output hasil dalam baris ketiga harus dapat difahami. Oleh itu, jika anda menggunakan arahan atas atau bebas untuk menyemak berapa banyak memori yang tinggal dalam sistem, anda sebenarnya harus menambah memori percuma ke memori penimbal/cache Itu adalah memori percuma sebenar sistem.
Linux akan menggunakan sepenuhnya memori percuma ini. Idea reka bentuk ialah jika memori itu kosong, lebih baik menggunakannya untuk menyimpan lebih banyak data Pada kali berikutnya program mengakses data itu lagi, ia akan menjadi lebih cepat program ingin menggunakan memori dan memori tidak mencukupi dalam sistem, Pada masa ini, daripada menggunakan partition swap, sebahagian daripada cache dikitar semula dengan cepat dan dibiarkan untuk digunakan oleh program pengguna.
Oleh itu, dapat dilihat bahawa penimbal/cache adalah benar-benar bermanfaat dan tidak berbahaya
Sebenarnya, Linux tidak memakan memori anda selagi partition swap belum digunakan dan memori anda semakin berkurangan, anda sepatutnya berasa bertuah kerana Linux menyimpan sejumlah besar data akan mendapat manfaat daripadanya pada masa akan datang.
Bukti eksperimenPercubaan berikut digunakan untuk mengesahkan kesimpulan di atas:
Kami membaca satu demi satu fail besar dan membandingkan amalan membaca dua kali:
1 Mula-mula jana fail besar 1G
2. Kosongkan cache
3 Baca fail ini dan uji masa yang diambil
4 Baca fail sekali lagi dan uji masa yang dihabiskan
Seperti yang dapat dilihat di atas, ia mengambil masa kira-kira 18 saat untuk membaca fail 1G ini buat kali pertama, tetapi hanya mengambil masa 0.3 saat untuk membacanya untuk kali kedua, iaitu peningkatan sebanyak 60 kali ganda
Atas ialah kandungan terperinci Memori Linux sedang dimakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!