Kedengarannya sangat kontra-produktif bagi saya untuk cache halaman yang ditukar. Jika Anda menukar halaman, apa untungnya menyimpannya lebih dulu di memori, hanya dengan memindahkannya ke tempat yang tepat? Bahkan jika halaman ditukar secara proaktif, bukankah lebih masuk akal untuk "hanya" menukarnya? Bukankah caching swap sebenarnya hanya pemborosan sumber daya?
kernel
swap
cache
algorithms
txwikinger
sumber
sumber
Jawaban:
Setelah beberapa penelitian lebih lanjut, saya telah menemukan bahwa istilah SwapCached dalam
/proc/meminfo
adalah menyesatkan. Bahkan, ini berkaitan dengan jumlah byte yang secara simultan dalam memori dan swap, sehingga jika halaman ini tidak kotor, mereka tidak perlu ditukar.sumber
Bahkan tidak pernah mendengar yang ini dan juga tidak masuk akal bagi saya. Saya masih berpikir aturan lama yang baik untuk memastikan itu tidak bertukar sama sekali (kecuali tentu saja reservasi) adalah yang terbaik. Sekarang, secara teoritis, caching barang-barang dalam memori yang tersedia langsung yang membutuhkan waktu untuk memuat dari sesuatu yang lambat seperti disk, memiliki keuntungan nyata. Tetapi jika Anda dapat men-cache halaman yang akan ditukar, mengapa sekali lagi bertukar di tempat pertama?
sumber
Tujuan menduplikat halaman antara swap dan RAM adalah untuk menghindari menunggu disk jika:
Sesuatu perlu dibaca dari mereka
Mereka perlu diusir untuk memberi ruang bagi sesuatu yang lain
Jika mereka hanya dalam swap, kasus 1. berarti menunggu mereka datang dari disk; jika mereka hanya dalam RAM, case 2. akan berarti menunggu mereka pergi ke disk.
(Tentu saja, kasus 2 sebenarnya sedikit lebih rumit, karena jelas lebih murah untuk mengusir halaman seperti itu, sehingga kernel mungkin mengusir mereka secara istimewa, tetapi intinya harus jelas.)
sumber