อธิบายโดยRedHat :
หน้าแคช:
แคชเป็นส่วนหนึ่งของหน่วยความจำที่เก็บข้อมูลอย่างโปร่งใสเพื่อให้คำขอในอนาคตสำหรับข้อมูลนั้นสามารถให้บริการได้เร็วขึ้น หน่วยความจำนี้ใช้โดยเคอร์เนลเพื่อแคชข้อมูลดิสก์และปรับปรุงประสิทธิภาพการทำงานของ i / o
เคอร์เนล Linux ถูกสร้างขึ้นในลักษณะที่จะใช้ RAM มากเท่าที่จะสามารถแคชข้อมูลจากระบบไฟล์และดิสก์ภายในและระยะไกลของคุณ เมื่อเวลาผ่านไปในการอ่านและเขียนต่าง ๆ จะถูกดำเนินการบนระบบเคอร์เนลพยายามที่จะเก็บข้อมูลไว้ในหน่วยความจำสำหรับกระบวนการต่าง ๆ ที่กำลังทำงานอยู่บนระบบหรือข้อมูลที่กระบวนการที่เกี่ยวข้องซึ่งจะใช้ในอนาคตอันใกล้ แคชจะไม่ถูกเรียกคืนในเวลาที่กระบวนการหยุด / ออกอย่างไรก็ตามเมื่อกระบวนการอื่นต้องการหน่วยความจำเพิ่มขึ้นหน่วยความจำที่ว่างก็จะใช้เคอร์เนลจะเรียกใช้ฮิวริสติกเพื่อเรียกคืนหน่วยความจำด้วยการจัดเก็บข้อมูลแคชและจัดสรรหน่วยความจำ
เมื่อมีการร้องขอไฟล์ / ข้อมูลใด ๆ เคอร์เนลจะค้นหาสำเนาของส่วนของไฟล์ที่ผู้ใช้ดำเนินการและหากไม่มีสำเนาดังกล่าวอยู่ก็จะจัดสรรหนึ่งหน้าใหม่ของหน่วยความจำแคชและเติมด้วย เนื้อหาที่เหมาะสมอ่านจากดิสก์
ข้อมูลที่เก็บไว้ในแคชอาจเป็นค่าที่คำนวณไว้ก่อนหน้านี้หรือทำซ้ำค่าดั้งเดิมที่เก็บไว้ที่อื่นในดิสก์ เมื่อมีการร้องขอข้อมูลบางส่วนแคชจะถูกตรวจสอบก่อนเพื่อดูว่ามีข้อมูลนั้นอยู่หรือไม่ ข้อมูลสามารถดึงได้เร็วกว่าจากแคชมากกว่าจากแหล่งกำเนิด
เซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันของ SysV นั้นยังถือว่าเป็นแคชแม้ว่าจะไม่ได้เป็นตัวแทนข้อมูลใด ๆ บนดิสก์ สามารถตรวจสอบขนาดของเซ็กเมนต์หน่วยความจำที่แบ่งใช้โดยใช้คำสั่ง ipcs -m และตรวจสอบคอลัมน์ไบต์
บัฟเฟอร์:
บัฟเฟอร์เป็นการนำเสนอบล็อกดิสก์ของข้อมูลที่เก็บไว้ภายใต้แคชหน้า บัฟเฟอร์ประกอบด้วยข้อมูลเมตาของไฟล์ / ข้อมูลที่อยู่ภายใต้แคชของหน้า ตัวอย่าง: เมื่อมีการร้องขอข้อมูลใด ๆ ที่มีอยู่ในแคชหน้าแรกเคอร์เนลตรวจสอบข้อมูลในบัฟเฟอร์ที่มีข้อมูลเมตาซึ่งชี้ไปที่ไฟล์ / ข้อมูลจริงที่อยู่ในแคชหน้า เมื่อทราบข้อมูลเมตาดาต้าบล็อกที่แท้จริงของไฟล์แล้วเคอร์เนลจะถูกนำไปประมวลผล
free
เอาต์พุตคำสั่งหรือไม่?