Score:0

จะอนุมานคำสั่งด้านบน VSZ และหมายเลขหน่วยความจำ Resident การใช้งาน / ฟรีได้อย่างไร

ธง us

ฉันมี vm สองตัวที่มี 2vCPU, 4GB RAM และอีกอันที่มี 4vCPU และ 8GB RAM

ตอนนี้ฉันได้ติดตั้ง / รันแอปพลิเคชันเดียวกัน (k8s pods) ด้วยหน่วยความจำเดียวกัน , การจัดสรรซีพียู , คำขอ , ขีด จำกัด ทั้งของ VM

ข้อสังเกต

  • เมื่อทิ้งเอาต์พุตสูงสุดทั้งหมดบนทั้ง vm และสรุปหน่วยความจำ Resident ของกระบวนการทั้งหมด ฉันจะเห็นตัวเลขที่คล้ายกันบน VM ทั้งสอง เช่น ใช้ไปประมาณ 2GB
  • สรุปตัวเลขทั้งหมดภายใต้คอลัมน์ VIRT ให้ 55456748 มากหรือน้อยบน vm ทั้งสอง

คำถาม

  • อย่างไรก็ตามในคำสั่งสรุปคำสั่งด้านบน / คำสั่งข้อมูลหน่วยความจำกระบวนการแสดงตัวเลขที่แตกต่างกันใน VM สองตัว ตัวชี้ใด ๆ เกี่ยวกับสาเหตุ & สถานที่ วิธีค้นหาหน่วยความจำเพิ่มเติม / สาเหตุหลักสำหรับการใช้หน่วยความจำ 4cPU และ 8 GB
2VCPU 4GB

$cat /proc/meminfo
MemTotal: 3880500 กิโลไบต์
MemFree: 144924 กิโลไบต์
หน่วยความจำที่มีอยู่: 590280 kB
SwapTotal: 1327100 กิโลไบต์
สวอปฟรี: 1261564 กิโลไบต์
4VCPU 8GB

$cat /proc/meminfo
MemTotal: 8008964 kB
MemFree: 197860 กิโลไบต์
หน่วยความจำที่มีอยู่: 1470412 kB
SwapTotal: 1327100 กิโลไบต์
สวอปฟรี: 1321408 กิโลไบต์
FedKad avatar
cn flag
อย่าพิจารณา `MemFree` ให้ใช้ 'MemAvailable' แทนสำหรับการใช้หน่วยความจำ
Mozhi avatar
us flag
@FedonKadifeli ฉันได้อัปเดตคำถามด้วย MemAvailable แล้ว ยังมีความคลาดเคลื่อน นั่นคือ 8GB RAM แสดงเพียง 1.5 GB และ 4GB VM แสดงเพียง 590 MB เท่านั้น
Score:1
ธง us

ตกลง นี่เป็นเพราะการกำหนดค่าของเพจขนาดใหญ่ที่ฉันตั้งค่าไว้ขณะติดตั้งแอปพลิเคชัน ระบบปฏิบัติการสร้างเพจตามค่าที่ระบุในขณะที่เปิดใช้งาน

2วีซีพียู 

ประมาณ 600 หน้าโดยแต่ละหน้า 2048k เช่น 1.23 GB ล็อค 

วีซีพียู 4 ตัว

ประมาณ 2,048 หน้าโดยแต่ละหน้า 2,048k เช่น 4.2 GB ถูกล็อคในหน่วยความจำหลัก
FedKad avatar
cn flag
มีหลายสาเหตุที่ระบบที่มีหน่วยความจำขนาดใหญ่จะใช้หน่วยความจำมากกว่าระบบเดียวกันที่มีหน่วยความจำขนาดเล็กกว่า คุณพบหนึ่งในนั้น โปรดขยายคำตอบของคุณเมื่อคุณค้นหาเหตุผลอื่น (คำตอบของฉันคือการเน้นจุดที่ควรใช้ MemAvailable แทน MemFree และฉันให้คะแนนกับคำตอบของคุณ!)
Score:1
ธง cn

ไม่ได้ใช้ เมมฟรีแต่ให้ใช้ ใช้ได้ เมตริกเพื่อกำหนดจำนวนหน่วยความจำ "ว่าง" ที่ระบบสามารถใช้สำหรับแอปพลิเคชันโดยไม่ต้องสลับ

คำอธิบายโดยละเอียดสำหรับสิ่งนี้มีให้ที่นี่ เช่น:

https://superuser.com/questions/980820/what-is-the-difference-between-memfree-and-memavailable-in-proc-meminfo

ฉันได้เขียนฟังก์ชัน Bash ต่อไปนี้สำหรับการตรวจสอบการใช้หน่วยความจำทั่วไป คุณสามารถใส่รหัสที่ส่วนท้ายของคุณ .bash_aliases ไฟล์.

ฟังก์ชัน mf
{
 mt=($(grep '^MemTotal:' /proc/meminfo))
 ma=($(grep '^MemAvailable:' /proc/meminfo))
 ให้ mtmb=${mt[1]}/1024
 ให้ mamb=${ma[1]}/1024
 ให้ mumb="(${mt[1]}-${ma[1]})/1024"
 ให้ muse="(${mt[1]}-${ma[1]})*100/${mt[1]}"

 st=($(grep '^SwapTotal:' /proc/meminfo))
 sf=($(grep '^SwapFree:' /proc/meminfo))
 ให้ stmb=${st[1]}/1024
 ให้ sfmb=${sf[1]}/1024
 ให้ sumb="(${st[1]}-${sf[1]})/1024"
 ถ้า (( st[1] != 0 )) ; แล้ว
   ให้ suse="(${st[1]}-${sf[1]})*100/${st[1]}"
 อื่น
   suse=0
 ไฟ
 printf "%17s%10s%10s%6s
หน่วยความจำ %9sM%9sM%9sM%5s%%
สลับ %9sM%9sM%9sM%5s%%
" 'ทั้งหมด' 'ใช้แล้ว' 'Av/ฟรี' 'ใช้ %' \
   $mtmb $mumb $mamb $รำพึง \
   $stmb $sumb $sfmb $suse
}
Mozhi avatar
us flag
ขอบคุณสำหรับการตอบกลับ แต่ฉันยังคงเห็นความแตกต่างในตัวเลขสุดท้ายกับสคริปต์ของคุณเช่นกัน ไม่ได้พูดอะไรผิดกับสคริปต์ของคุณ แต่ตัวเลขพื้นฐานที่รายงานโดย vm อาจทำให้เข้าใจผิด บน 4cpu 8GB RAM VM Av ที่ใช้ทั้งหมด/% การใช้งานฟรี หน่วยความจำ 7821M 6377M 1443M 81% สวอป 1295M 5M 1290M 0%
Mozhi avatar
us flag
บน 2 ซีพียู 4GB RAM VM Av ที่ใช้ทั้งหมด/% การใช้งานฟรี หน่วยความจำ 3789M 3209M 579M 84% สวอป 1295M 63M 1232M 4%

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา