"แคช" ในคำสั่งด้านบนคืออะไร?


45

เมื่อทำงานtopฉันจะได้รับ:

top - 09:10:52 up 18:37,  1 user,  load average: 1.56, 1.33, 1.15
Tasks:  39 total,   1 running,  38 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.6%sy,  1.0%ni, 92.5%id,  5.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,  3045460k used,  1148844k free,        0k buffers
Swap:        0k total,        0k used,        0k free,  2256128k cached

ดูส่วน: 2256128k แคช? หมายความว่าอะไรกันแน่?

ฉันกำลังเปรียบเทียบ VPS สองตัวจากผู้ให้บริการสองรายรายนี้มีจำนวนมากเสมอ (70% ของหน่วยความจำที่ใช้) และผู้ให้บริการ VPS รายอื่นจะแสดง 0 เสมอ

คำตอบ:


15

หมายเลขก่อนแคชคือจำนวนหน่วยความจำกายภาพที่แคชบัฟเฟอร์ใช้สำหรับระบบไฟล์ของคุณ

มันไม่จริงที่เกี่ยวข้องกับการ SWAP แม้จะเป็นที่ "Swap:" สาย

หากต้องการตรวจสอบคำตอบของฉันด้วยการทดสอบเล็กน้อยลองต่อไปนี้:

เรียกใช้ด้านบนและจดบันทึกค่าของ 'แคช' ตอนนี้ทำงาน

dd if=/dev/zero of=~/trick bs=1M count=128

หากคุณเรียกใช้อีกครั้งคุณจะสังเกตเห็นว่า 'แคช' โตขึ้น128M

ตอนนี้ลบไฟล์

rm ~/trick

เรียกใช้อีกครั้งและคุณจะเห็น 'แคช' ลดลง128M

ดังนั้นสำหรับ Mem:

total = used + free และ

used = <all apps> + buffers + cached

(โดยที่บัฟเฟอร์นั้นเป็นข้อมูลเมตาสำหรับแคช) สับสนเล็กน้อยกับ UI


และฉันสามารถมีอิทธิพลต่อเรื่องนี้เช่น จำกัด หรือปิดการใช้งานอย่างสมบูรณ์?
KKK

2
ทำไมคุณถึงต้องการทำเช่นนั้น! คุณจะทำอะไรกับ! มันเกี่ยวกับวิธีการแคชระบบไฟล์ในหน่วยความจำ phyiscal

สาเหตุที่ระบบไฟล์ส่วนใหญ่เป็น DB ฐานข้อมูลมีแคชของตัวเองดังนั้นฉันคิดว่ามันจะดีถ้าจะ จำกัด ส่วนนี้
KKK

คุณสามารถทำได้ด้วยการค้นหาบางอย่าง แต่ฉันไม่แนะนำคุณ สิ่งนี้จะ จำกัด ประสิทธิภาพการทำงานของ FS

116

เคอร์เนล Linux จะใช้หน่วยความจำที่มีอยู่สำหรับการแคชดิสก์ยกเว้นว่าจำเป็นต้องใช้โปรแกรมที่กำลังทำงานอยู่

นี่ถือว่าดี บอกว่าคุณมี RAM 4 GB และโปรแกรมของคุณใช้เพียง 1 GB อีก 3 GB กำลังจะเสีย แม้จะมีความรู้สึก "รู้สึกดี" จากการรู้ว่าคุณใช้หน่วยความจำเพียง 25% แต่สิ่งที่เหลือคือ 75% นั้นไม่ได้ใช้ ดังนั้นเคอร์เนลจึงใช้สำหรับการแคชไฟล์ซึ่งปรับปรุงประสิทธิภาพอย่างมาก เป็นไปโดยอัตโนมัติ แตกต่างจากระบบปฏิบัติการรุ่นเก่าที่คุณไม่จำเป็นต้องตัดสินใจว่าต้องทุ่มเทกับแคชของดิสก์หรือกำหนดค่าด้วยตนเอง

"แคชดิสก์ลินุกซ์นั้นไม่สร้างความรำคาญมากมันใช้หน่วยความจำสำรองเพื่อเพิ่มความเร็วในการเข้าถึงดิสก์อย่างมากและโดยไม่ต้องใช้หน่วยความจำใด ๆ ออกไปจากแอปพลิเคชัน

นี่เป็นคำถามทั่วไปที่มีทั้งเว็บไซต์ที่อุทิศให้:

http://www.linuxatemyram.com

เว็บไซต์ยังมีวิธีการล้างแคชดิสก์เพื่อให้คุณสามารถเรียกใช้แอปพลิเคชั่นบางตัวและดูว่ามันเร็วแค่ไหนเมื่อเปิดใช้งานแคช :)


4
รักคำตอบ แต่เนื่องจากขาดชื่อเสียงฉันไม่สามารถอัพเกรดได้ (ยัง) ขอโทษ
KKK

4
ไม่ต้องกังวลฉันแค่ดีใจที่ได้รับความช่วยเหลือ หวังว่าข้อมูลจะเป็นประโยชน์!
roadmr

นี่ควรเป็นคำตอบที่ยอมรับได้ โอ้ดี . . :(
ankush981

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