ฉันต้องได้รับการใช้หน่วยความจำ% จาก vmstat แต่ฉันไม่เข้าใจตัวเลขที่เกี่ยวข้องกับหน่วยความจำที่แสดงใน vmstat
โดยเฉพาะให้ผลลัพธ์เช่นนี้
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 139728 45396 199128 1236360 1 2 4 622 3 1 51 4 43 2 0
จำนวนหน่วยความจำทั้งหมดของระบบคือเท่าไหร่? มันคือ 'swpd' + 'free' + 'buff' + 'cache' ซึ่งรวมไปถึง 1620612
จำนวนหน่วยความจำว่างของระบบคือเท่าใด มันคือ 45396 ตามที่ปรากฏในคอลัมน์ 'ฟรี' หรือไม่
ปัญหาคือพวกเขาไม่ได้เพิ่มหรือดูใกล้เคียงกับสิ่งที่ 'ยอดนิยม' รายงาน ผลลัพธ์ของ 'top' ที่ฉันใช้เวลาประมาณเดียวกันกับ 'vmstat's ด้านบนคือ:
[...]
Mem: 4059616k total, 3965504k used, 94112k free, 200020k buffers
[...]
ดังนั้น ... ฉันสมมติว่าจะต้องมีตัวเลข / ตัวเลือกที่ซ่อนอยู่ใน 'vmstat' ที่ฉันไม่รู้
ฉันต้องใช้ 'vmstat' เพื่อจุดประสงค์นี้และไม่ใช่คำสั่งอื่น ๆ เนื่องจากนี่เป็นข้อกำหนดที่ระบุไว้
ดังนั้นสิ่งที่ฉันต้องการให้ได้จาก 'vmstat' คือการใช้หน่วยความจำ% ดังที่:
<used_memory>/<total_memory> * 100%.
ขอบคุณ!