ฉันมีระบบเดสก์ท็อปที่ติดตั้ง Centos 7 มันมี 4 คอร์และ 12 GB หน่วยความจำ เพื่อค้นหาข้อมูลหน่วยความจำฉันใช้free -h
คำสั่ง ฉันมีหนึ่งความสับสน
[user@xyz-hi ~]$ free -h
total used free shared buff/cache available
Mem: 11G 4.6G 231M 94M 6.8G 6.6G
Swap: 3.9G 104M 3.8G
ในคอลัมน์รวมว่ากันว่าทั้งหมด 11GB (ถูกต้อง) ในคอลัมน์สุดท้ายที่มีอยู่มันบอกว่า 6.6GB และใช้เป็น 4.6G
หากหน่วยความจำที่ใช้คือ 4.6GB ก็จะเหลือ 6.4 GB (11-4.6 = 6.4) การตีความเอาต์พุตที่ถูกต้องคืออะไรความแตกต่างระหว่างผลรวมและที่มีและหน่วยความจำว่างคืออะไร ฉันมีหน่วยความจำไม่เพียงพอถ้าฉันต้องการอีก 1 GB สำหรับแอปพลิเคชั่นใหม่หรือไม่?
ดังนั้นคำถามของคุณเกี่ยวกับสาเหตุที่มันเป็น 6.6 และไม่ใช่ 6.4?
—
αԋɱҽԃαмєяιcαη
คำถามนี้ย้อนกลับไปหลายทศวรรษ .. คุณอ้างถึงหน่วยความจำที่ใช้เป็นแคชในปัจจุบัน แต่เป็น 'ว่างหรือว่าง' กล่าวคือ มันมีข้อมูลจากดิสก์จึงเป็น 'แคช' หากจำเป็น แต่แอปพร้อมใช้งานแล้วควรจะ malloc () ความแตกต่างที่คุณกังวลคือมีประโยชน์ในการแจ้งให้เราทราบว่า 'หน่วยความจำนี้ใช้ค่าใดในหน่วยความจำ' และจะถกเถียงกันทุกสองสามปีตั้งแต่ยุค 80 มันไม่ได้เปลี่ยนไปเหมือนเดิมทุกครั้ง (การตั้งค่าที่น่ารำคาญมีประโยชน์! และการไม่เปลี่ยนแปลงไม่ได้หมายความว่าเราต้องแก้ไขสคริปต์เก่าที่ใช้มานานหลายทศวรรษ)
—
guiverc