TL; DR 1
เซิร์ฟเวอร์ของคุณอยู่ในคอนเทนเนอร์ virtuozzo / openvz / virtualization-du-jourบางประเภท การพยายามทำความเข้าใจเกี่ยวกับการใช้หน่วยความจำกำลังเอียงไปที่กังหันลม
TL; DR 2
Linux กิน RAM ของคุณ! แต่ก็ไม่เป็นไรมันทำเพื่อทุกคน
เรื่องยาว
มาทำลายมันกันเถอะ!
ในMem:
ส่วนที่เรามี:
$n total
: จำนวนแรมจริงในเครื่องของคุณ
$n used
: ลีนุกซ์ใช้หน่วยความจำเท่าไร, ไม่ใช่แค่เพียงผลรวมของกระบวนการ.
$n free
: Linux ไม่ได้ใช้ RAM เท่าใด สิ่งนี้ไม่ได้คำนึงถึงว่าหน่วยความจำที่แคชและบัฟเฟอร์มีความสำคัญว่า "ฟรี"
$n buffers
: พื้นที่บัฟเฟอร์คือที่เก็บบล็อกของดิสก์ I / O ที่ถูกอ่านหรือรอการเขียนอยู่ บัฟเฟอร์คือการเป็นตัวแทน RAM ของดิสก์บล็อกเดียว
ในSwap:
ส่วนที่เรามี:
$n total
: อธิบายตนเอง จำนวนเนื้อที่ดิสก์ที่สามารถสลับหน้าได้
$n used
: อธิบายตนเอง จำนวนพื้นที่ดิสก์ที่ใช้สลับ
$n free
: Herp Derp
$n cache
: เกี่ยวข้องอย่างใกล้ชิดกับบัฟเฟอร์ด้านบน มันเป็นส่วนหนึ่งของแคชของหน้าและตัวมันเองไม่มีที่ว่างบนดิสก์ทางกายภาพ ไม่ต้องกังวลกับรายละเอียดของการสนทนานี้
free -m
ส่วนที่น่าสนใจมาเมื่อคุณเรียกใช้ คุณจะเห็นสามบรรทัดและตัวเลขทั้งหมดจะมีความสัมพันธ์กับด้านบน ฉันจะให้พีซีของฉันเป็นตัวอย่าง:
total used free shared buffers cached
Mem: 8070 7747 323 0 253 5713
-/+ buffers/cache: 1780 6290
Swap: 5055 0 5055
แถว Mem แสดง RAM ทั้งหมดในหน่วยเมกะไบต์ ( $n total
ด้านบน) จำนวนการใช้งาน ( $n used
ด้านบน) จำนวนฟรี ( $n free
ด้านบน) จำนวนการแชร์ (ไม่สนใจ) และตอนนี้มาเป็นส่วนที่ดี! buffers
และcached
คอลัมน์ในfree -m
ความสัมพันธ์กับการคาดการณ์และ$n buffers
$n cache
แต่จะดูที่แถวที่สองที่จะเริ่มต้นด้วยfree -m
-/+ buffers/cache:
คณิตศาสตร์แสดงให้เห็นว่าจำนวนเงินที่ใช้จริง ๆ (ทั้งหมด) - ((ใช้แล้วบัฟเฟอร์) - แคช) ฟรีคือ (ทั้งหมด) - (theNewUsed)
ทั้งหมดนี้หมายความว่าอย่างไร หมายความว่าLinux กิน RAM ของคุณ! เรื่องสั้นคือเคอร์เนลลินุกซ์กลืน RAM ในขณะที่พร้อมใช้งานสำหรับการแคชดิสก์ ไม่มีอะไรที่คุณสามารถทำได้เกี่ยวกับเรื่องนี้จนกว่าคุณจะรู้สึกว่าพยายามรวบรวมเคอร์เนลที่กำหนดเอง เคล็ดลับ Pro:อย่า
RAM มีอยู่จริงและมีอิสระสำหรับกระบวนการที่จะใช้ในความตั้งใจของพวกเขา ว่าสิ่งที่หมายโดยแถวใน-/+ buffers/cache:
free -m
อย่างไรก็ตามคุณอยู่ในคอนเทนเนอร์ virtualization ที่ไม่ใช่ไฮเปอร์ visor ซึ่งทำให้ทุกอย่างดูน่ารำคาญ คุณไม่สามารถนำสต็อกของหน่วยความจำของคุณไปด้วยความแม่นยำของไบต์ได้ อย่างไรก็ตามคุณไม่เห็นพฤติกรรมใด ๆ ที่ผิดปกติอย่างมาก
ใจเย็นไว้และเดินหน้าต่อไป. และรับเซิร์ฟเวอร์ทางกายภาพ (เว้นแต่ว่าคุณชอบสถิติหน่วยความจำที่มีลักษณะเหมือน Kreskin คือ SysAdmin ของคุณ)