Rumah  >  Artikel  >  Tutorial sistem  >  Memori Linux sedang dimakan

Memori Linux sedang dimakan

PHPz
PHPzke hadapan
2024-02-20 10:48:10672semak imbas

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.

Memori Linux sedang dimakan

pengenalan arahan percuma

Berikut adalah hasil penggunaan arahan percuma untuk melihat memori pelayan fail makmal kami Pilihan -m bermaksud menggunakan MB sebagai unit:

Memori Linux sedang dimakan

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

    Penimbal ialah sesuatu yang masih belum "ditulis" ke cakera.
  • Cache ialah sesuatu yang telah "dibaca" daripada cakera dan disimpan untuk kegunaan kemudian.
Iaitu, penimbal digunakan untuk menyimpan data untuk dikeluarkan ke cakera, manakala cache ialah data yang dibaca daripada cakera dan disimpan dalam memori untuk kegunaan masa hadapan. Mereka diperkenalkan untuk menyediakan prestasi IO.

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?

Klasifikasi ingatan
Kami membahagikan memori kepada tiga kategori, dengan nama berbeza untuk kegunaannya dari perspektif pengguna dan sistem pengendalian:

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.

manfaat penimbal/cache
Pengurusan memori Linux telah membuat banyak reka bentuk yang teliti Selain daripada caching dentry (digunakan dalam VFS untuk mempercepatkan penukaran nama laluan fail kepada inod), ia juga menggunakan dua kaedah Cache utama: Buffer Cache dan Page Cache adalah untuk meningkatkan prestasi Disk IO. Data yang dibaca daripada peranti blok perlahan disimpan sementara dalam memori Walaupun data tidak lagi diperlukan pada masa itu, pada kali berikutnya aplikasi mengakses data, ia boleh dibaca terus dari memori, sekali gus memintas peranti blok perlahan , sekali gus meningkatkan prestasi keseluruhan 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 eksperimen

Percubaan 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

Memori Linux sedang dimakan

2. Kosongkan cache

Memori Linux sedang dimakan

3 Baca fail ini dan uji masa yang diambil

Memori Linux sedang dimakan

4 Baca fail sekali lagi dan uji masa yang dihabiskan

Memori Linux sedang dimakan

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!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam