Rumah > Artikel > Tutorial sistem > Bagaimana untuk menggunakan SWAP, Cache dan Buffer dalam Linux dengan munasabah?
Dalam sistem Linux, tiga konsep SWAP, Cache dan Buffer sering muncul di hadapan kita. Apakah maksudnya masing-masing? Ringkasnya, SWAP merujuk kepada kawasan swap memori maya, Cache merujuk kepada kawasan penimbal, dan Penampan merujuk kepada kawasan penimbal input dan output. Penggunaannya dalam sistem Linux memainkan peranan penting dalam prestasi sistem. Walau bagaimanapun, senario aplikasi yang berbeza dan aplikasi yang berbeza menduduki dan menggunakan ketiga-tiga kawasan cache ini secara berbeza Bagaimana kita boleh menggunakannya dengan lebih rasional? Seterusnya, artikel ini akan memperkenalkannya kepada anda secara terperinci.
**1 Lihat memori Linux melalui arahan percuma
**
jumlah: jumlah saiz memori.
digunakan: Saiz memori yang telah digunakan (ini termasuk cache, penimbal dan bahagian yang dikongsi).
percuma: Saiz memori percuma.
dikongsi: Memori dikongsi antara proses (biasanya tidak digunakan, boleh diabaikan).
penampan: Perkara yang ditulis dalam ingatan dicache, supaya permintaan dapat dijawab dengan cepat, dan data seterusnya disiram dengan kerap ke cakera.
cached: Saiz kandungan cache dalam memori selepas membaca (bahagian ini adalah untuk pemulangan pantas semasa pertanyaan seterusnya).
-/+ buffer/cache boleh dianggap sebagai dua bahagian:
-buffer/cache: Saiz memori yang digunakan (perhatikan bahawa ia bukan bahagian yang digunakan, kerana penimbal dan cache tidak digunakan, organisasi dan orang perlu memastikan bahawa ia boleh dikeluarkan), nilainya = digunakan- buffer-cache.
+buffer/cache: Saiz memori yang tersedia (begitu juga bukan bahagian yang diwakili oleh percuma), nilainya = percuma+buffer+cache.
Swap: Saiz terpakai bagi partition swap pada cakera keras.
Tujuan reka bentuk ialah apabila memori tersedia yang diwakili oleh +buffer/cache yang dinyatakan di atas telah digunakan, selepas permintaan baca dan tulis baru datang, sebahagian daripada data dalam memori akan ditulis ke cakera, dengan itu merawat sebahagian ruang cakera sebagai memori maya untuk digunakan.
2. Pengenalan kepada Penampan dan Cache
Cache (cache) direka untuk meningkatkan pertukaran data antara CPU dan memori, dan Buffer (buffer) direka untuk meningkatkan pertukaran data antara memori dan cakera keras (atau peranti I/O lain).
Cache direka terutamanya untuk operasi membaca, tetapi konsep Cache mungkin mudah dikelirukan. Saya faham bahawa CPU itu sendiri mempunyai Cache, termasuk cache peringkat pertama, cache peringkat kedua dan cache peringkat ketiga operasi CPU disambungkan ke Memori, dan kuasa pemprosesan CPU jauh lebih tinggi daripada kelajuan memori, jadi untuk mengelakkan sumber CPU daripada terbiar, Intel dan syarikat lain telah menyepadukan beberapa cache di dalam CPU, tetapi selepas semuanya, mereka tidak boleh meletakkan terlalu banyak litar di dalamnya, jadi bahagian cache ini tidak begitu besar, terutamanya digunakan untuk menyimpan beberapa arahan yang biasa digunakan dan data yang biasa digunakan data yang diminta, iaitu bahagian Cached di atas (bahagian ini adalah pemahaman peribadi semata-mata, sama ada betul atau tidak masih perlu dilihat) penyelidikan).
Buffer direka terutamanya untuk operasi tulis, dan lebih khusus untuk operasi tulis antara memori dan cakera keras Tujuannya adalah untuk menumpukan operasi tulis, mengurangkan pemecahan cakera dan proses pengalamatan cakera keras yang berulang, dan meningkatkan prestasi.
Terdapat proses daemon di dalam sistem Linux yang kerap mengosongkan kandungan Buffer dan menulisnya ke cakera keras Operasi di atas juga akan dicetuskan apabila arahan penyegerakan dilaksanakan secara manual.
3. Gejala biasa
Simptom 1: Fail kerap diakses di Linux, memori fizikal cepat habis dan cache terus berkembang.
Penjelasan: Linux akan cache setiap data yang diminta dalam cache Kelebihannya ialah kelajuan pemprosesan CPU jauh lebih tinggi daripada memori, jadi apabila CPU dan memori berkomunikasi, hasil hit boleh dikembalikan dengan cepat dari cache. .
Simptom 2: Swap telah diduduki.
Penjelasan: Swap mungkin diduduki apabila memori tidak mencukupi, jadi Swap boleh digunakan sebagai penunjuk pemantauan pelayan untuk menarik perhatian.
4 Bersihkan Swap dan penimbal/cache
secara manual(1) Tukar Bersih
swapoff -a && swapon -a
Arahan operasi: Jika Swap telah digunakan, dan masih terdapat ruang dalam +buffer/cache selepas mengosongkannya, melakukan swapoff -operasi akan mencetuskan pertukaran kandungan dalam Swap ke dalam memori, dan data tidak akan hilang.
(2) Bersihkan penimbal/cache:
sync; sync; sync;&& echo 3 >/proc/sys/vm/drop_caches sleep 2 echo 0 > /proc/sys/vm/drop_caches
Arahan operasi:
sync–>Tulis kandungan cache kembali ke cakera keras;
echo 3 >/proc/sys/vm/drop_caches–>Ubah suai nilai drop_caches kepada 3, lalainya ialah 0, menukarnya kepada 3 akan mengosongkan kandungan cache;
tidur 2 -> Tunggu sebentar sekiranya langkah sebelumnya tidak selesai;
echo 0 >/proc/sys/vm/drop_caches -> Tukar kembali kepada nilai lalai
Secara amnya, tiga kawasan cache SWAP, Cache dan Buffer adalah bahagian penting dalam sistem Linux, dan ia mempunyai kesan langsung terhadap prestasi dan kestabilan sistem. Mengawal dan menggunakannya dengan betul boleh menjadikan sistem berjalan lebih stabil dan cekap, sekali gus meningkatkan pengalaman pengguna. Saya harap artikel ini akan membantu anda memahami penggunaan tiga kawasan cache ini dalam sistem Linux Jika anda mempunyai apa-apa untuk ditambah atau mempunyai soalan, sila tinggalkan mesej untuk komunikasi.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan SWAP, Cache dan Buffer dalam Linux dengan munasabah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!