เหตุใดจึงเหมาะสมที่จะแลกเปลี่ยนแคช


9

ฟังดูเป็นเรื่องต่อต้านฉันในการทำแคชเพจที่ถูกสับเปลี่ยน หากคุณสลับเพจเข้าข้อดีของการแคชเพจในหน่วยความจำก่อนคือต้องย้ายไปไว้ที่ตำแหน่งที่ถูกต้องเท่านั้น แม้ว่าหน้าจะถูกสลับในเชิงรุกมันไม่เหมาะสมกว่าที่จะ "เพียงแค่" เปลี่ยนหน้าเว็บเหล่านั้นใช่ไหม ในความเป็นจริงการแคชการแลกเปลี่ยนไม่ได้เป็นเพียงการสิ้นเปลืองทรัพยากรหรือไม่


คุณแหม่ม / เซอร์ได้รับคะแนนพิเศษจากฉันสำหรับคำถามของคุณ หวังว่าฉันจะได้คะแนนสองครั้ง
Eli Frey

คำตอบ:


12

หลังจากการวิจัยเพิ่มเติมฉันพบว่าคำศัพท์ SwapCached ใน/proc/meminfoนั้นทำให้เข้าใจผิด ในความเป็นจริงมันเกี่ยวข้องกับจำนวนไบต์ที่พร้อมกันในหน่วยความจำและการสลับเช่นถ้าหน้าเหล่านี้ไม่สกปรกพวกเขาไม่จำเป็นต้องสลับออก


2
มันค่อนข้างจะเทียบเท่ากับการถูกแคชไว้ใช่มั้ย ฉันหมายถึง WRT ระบบการจัดการหน่วยความจำของเคอร์เนล "แคช" หมายถึง "ทั้งบนดิสก์และ RAM" ใช่ไหม?
SamB

0

ไม่เคยแม้แต่จะได้ยินเรื่องนี้มาก่อนและมันก็ไม่สมเหตุสมผลสำหรับฉันเช่นกัน ฉันยังคงคิดว่ากฎเก่าที่ดีในการทำให้แน่ใจว่ามันไม่ได้แลกเปลี่ยนเลย (ยกเว้นการจองแน่นอน) ดีที่สุด ทีนี้ในทางทฤษฎีแล้วการแคชของสิ่งต่าง ๆ ในหน่วยความจำที่มีอยู่โดยตรงซึ่งใช้เวลาสักครู่ในการโหลดจากบางสิ่งที่ช้ากว่าดิสก์มีความได้เปรียบชัดเจน แต่ถ้าคุณสามารถแคชหน้าเว็บที่จะเปลี่ยนทำไมต้องสลับอีกครั้งตั้งแต่แรก


0

จุดที่มีหน้าที่ทำซ้ำระหว่าง swap และ RAM คือการหลีกเลี่ยงการรอดิสก์หาก:

  1. บางสิ่งจำเป็นต้องอ่านจากพวกเขา

  2. พวกเขาต้องถูกขับไล่เพื่อให้มีที่ว่างสำหรับอย่างอื่น

หากพวกเขาแลกเปลี่ยนเท่านั้นกรณีที่ 1 หมายถึงการรอให้พวกเขาเข้ามาจากดิสก์ หากอยู่ใน RAM เท่านั้นกรณีที่ 2 จะหมายถึงการรอให้พวกเขาออกไปที่ดิสก์

(แน่นอนว่ากรณีที่ 2 มีความซับซ้อนกว่าเล็กน้อยเนื่องจากเห็นได้ชัดว่าถูกกว่าในการขับไล่หน้าเว็บดังกล่าวดังนั้นเคอร์เนลอาจแสดงผลได้ดีกว่า แต่ควรมีจุดที่ชัดเจน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.