Score:0

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

ธง cn

ฉันได้เปิดใช้งานเพจขนาดใหญ่ที่โปร่งใสในกระบวนการที่ใช้ jemalloc สำหรับการจัดสรรหน่วยความจำ โดยทำตามขั้นตอน:

  1. การตั้งค่าสถานะหน้าขนาดใหญ่โปร่งใสเป็น "madvice" :
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled;
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag;

2. การตั้งค่า jemalloc ให้ใช้ thp เสมอ

ส่งออก MALLOC_CONF="thp:always,metadata_thp:always,dirty_decay_ms:-1";

เนื่องจากโปรแกรมใช้เฉพาะ jemalloc เพื่อจัดสรรหน่วยความจำ ผลลัพธ์ที่คาดหวังควรเป็นขนาดของหน่วยความจำที่ใช้ทั้งหมด (RSS) เท่ากับขนาดของเพจขนาดใหญ่ที่จัดสรร แต่มันแตกต่างกันมาก เนื่องจากรายการ "AnonHugePages" และ "Rss" แสดงด้านล่าง :

# cat /proc/<pid>/smaps |awk 'NF==3 {dict[$1]+=$2} END{for(key in dict) print key" "dict[key]}' 
ล็อค: 4
แชร์_คลีน: 18732
MMUPขนาดหน้า: 8776
KernelPageSize: 8776
Pss: 150242778
สลับ: 0
ShmemPmdMapped: 0
Shared_Dirty: 0
ขนาด: 258068324
Private_Hugetlb: 0
Private_Dirty: 150234008
ขี้เกียจฟรี: 0
ส่วนตัว_สะอาด: 124
อ้างอิง: 147993656
VmFlags: 0
AnonHugeเพจ: 76193792
RSS: 150252864
SwapPss: 0
แชร์_Hugetlb: 0
ไม่ระบุตัวตน: 150232456

ฉันรู้ว่าการจัดสรรหน่วยความจำตามปกติ (หน้า 4k) จะเกิดขึ้นหากไม่มีหน้าขนาดใหญ่เพียงพอในระบบปฏิบัติการ เพิ่มจำนวนหนึ่งรายการให้กับรายการ "thp_fault_fallback" ใน "/proc/vmstat" แต่ค่ามีขนาดเล็กตามตัวอย่างด้านล่างที่แสดง หมายความว่าไม่มีการจัดสรรหน้าที่ไม่ใหญ่เกิดขึ้นมากนัก:

# grep thp_fault_fallback /proc/vmstat 
thp_fault_fallback 2982

แล้วทำไมช่องว่างระหว่างขนาดของ RSS และ THP? รอคอยที่จะเบาะแสและคำแนะนำบางอย่าง

โพสต์คำตอบ

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