ฉันกำลังพยายามเน้นหน่วยความจำของคอนเทนเนอร์อูบุนตู พิมพ์ฟรีในเทอร์มินัลคำสั่งของฉันให้ผลลัพธ์ต่อไปนี้:
ฟรี - ม
บัฟ/แคชที่ใช้ร่วมกันฟรีทั้งหมดที่มี
เมม: 7958 585 6246 401 1126 6743
สลับ: 2048 0 2048
ฉันต้องการเน้น 10% ของหน่วยความจำที่มีอยู่ทั้งหมด ต่อ คู่มือเน้นย้ำ:
-m N, --vm N
เริ่ม N คนทำงานเรียก mmap(2)/munmap(2) อย่างต่อเนื่องและเขียนไปยังการจัดสรร
หน่วยความจำ. โปรดทราบว่าสิ่งนี้อาจทำให้ระบบสะดุดเคอร์เนล OOM killer บน Linux
ระบบหากหน่วยความจำฟิสิคัลไม่เพียงพอและไม่มีการแลกเปลี่ยน
--vm-ไบต์ N
mmap N ไบต์ต่อผู้ปฏิบัติงาน vm ค่าเริ่มต้นคือ 256MB สามารถระบุขนาดเป็น % ของ
หน่วยความจำที่มีอยู่ทั้งหมดหรือในหน่วยของ Bytes, KBytes, MBytes และ GBytes โดยใช้
ต่อท้าย b, k, m หรือ g
ตอนนี้ บนคอนเทนเนอร์เป้าหมายของฉัน ฉันเรียกใช้ตัวเน้นหน่วยความจำสองตัวเพื่อครอบครอง 10% ของหน่วยความจำของฉัน:
stress-ng -vm 2 --vm-ไบต์ 10% -t 10
อย่างไรก็ตาม การใช้หน่วยความจำบนคอนเทนเนอร์ไม่ถึง 10% ไม่ว่าฉันจะเรียกใช้กี่ครั้งก็ตาม ฉันลองใช้ค่าการหมดเวลาที่แตกต่างกัน ไม่มีผลลัพธ์ ตู้เสื้อผ้าที่ได้รับคือ 8.9% ไม่เคยเข้าใกล้ 10% ฉันตรวจสอบการใช้หน่วยความจำบนคอนเทนเนอร์ด้วยวิธีนี้:
สถิตินักเทียบท่า --no-stream kind_sinoussi
ชื่อรหัสคอนเทนเนอร์ CPU % การใช้ MEM / LIMIT MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 199.01% 638.4MiB / 7.772GiB 8.02% 1.45kB / 0B 0B / 0B 7
ในความพยายามที่จะเข้าใจพฤติกรรมนี้ ฉันพยายามเรียกใช้คำสั่งเดียวกันโดยมีหน่วยเป็นไบต์ที่แน่นอนในกรณีของฉัน ฉันจะเลือก 800 เมกะ เนื่องจาก 7958m * 0.1 = 795,8 ~ 800m
stress-ng -vm 2 --vm-bytes 800m -t 15
และฉันได้รับ 10%!
สถิตินักเทียบท่า --no-stream kind_sinoussi
ชื่อรหัสคอนเทนเนอร์ CPU % การใช้ MEM / LIMIT MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 198.51% 815.2MiB / 7.772GiB 10.24% 1.45kB / 0B 0B / 0B 7
ใครสามารถอธิบายได้ว่าทำไมสิ่งนี้จึงเกิดขึ้น
อีกคำถามหนึ่ง เป็นไปได้ไหมที่ stress-ng จะเน้นการใช้หน่วยความจำถึง 100%