Score:0

หน่วยความจำไม่เพียงพอ "แชร์" และ "บัฟ/แคช" ใช้หน่วยความจำทั้งหมด

ธง pk

oom_reaper ฆ่าแอปพลิเคชันของเราเสมอแม้ว่ากระบวนการจะไม่ได้ใช้หน่วยความจำก็ตาม

free -m ก่อนที่ OOM killer จะยุติกระบวนการ ระบุว่า "shared" และ "buff/cache" ต้องการหน่วยความจำทั้งหมด:

root@local:/tmp# ฟรี -m
              รวมใช้บัฟ/แคชที่ใช้ร่วมกันฟรี
เมม: 3861 627 95 3037 3138 26
การแลกเปลี่ยน: 0 0 0

การล้างแคชโดยใช้ เสียงสะท้อน 3 > /proc/sys/vm/drop_caches ไม่ได้ทำอะไรเลย

linuxatemyram.com ใช้ไม่ได้ที่นี่

ฉันได้ตัดออกไปแล้วว่าหน่วยความจำถูกใช้โดยดิสก์ RAM / tempfs โดยใช้ df -t tmpfs --total -h.

meminfo ก่อนที่ OOM killer จะยุติกระบวนการ ส่งคืนสิ่งต่อไปนี้:

root@local:/tmp# awk '$3=="kB"{$2=$2/1024;$3="MB"} 1' /proc/meminfo | คอลัมน์ -t
MemTotal: 3861.26 MB
MemFree: 108.297 MB
หน่วยความจำที่มีอยู่: 49.6445 MB
บัฟเฟอร์: 2.82422 MB
แคช: 3069.16 MB
สลับแคช: 0 MB
ใช้งานอยู่: 42.8164 MB
ไม่ได้ใช้งาน: 578.258 MB
Active(ไม่ใช้งาน): 2.78125 MB
ไม่ใช้งาน(ไม่ใช้งาน): 542.719 MB
ใช้งานอยู่(ไฟล์): 40.0352 MB
ไม่ใช้งาน(ไฟล์): 35.5391 MB
ไม่สามารถหลีกเลี่ยงได้: 2964.51 MB
ล็อกแล้ว: 18.6484 MB
SwapTotal: 0 MB
สวอปฟรี: 0 MB
สกปรก: 0.09375 MB
การเขียนกลับ: 0 MB
อานนท์เพจ: 513.977 MB
แมปแล้ว: 85.9766 MB
ชม: 2987.97 MB
KReclaimable: 37.6602 MB
พื้น: 104.531 MB
SReclaimable: 37.6602 MB
SUnreclaim: 66.8711 ลบ
KernelStack: 6.625 MB
PageTables: 11.4961 MB
NFS_ไม่เสถียร: 0 MB
ตีกลับ: 0 MB
WritebackTmp: 0 MB
CommitLimit: 1930.63 MB
Committ_AS: 5638.47 MB
VmallocTotal: 3.35544e+07 MB
VmallocUsed: 27.3516 MB
VmallocChunk: 0 MB
ประสิทธิภาพ: 3.23438 MB
ฮาร์ดแวร์เสียหาย: 0 MB
AnonHugePages: 0 MB
เพจขนาดใหญ่: 0 MB
ShmemPmdMapped: 0 MB
FileHugePages: 0 MB
FilePmdMapped: 0 MB
HugePages_Total: 0
HugePages_ฟรี: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
ขนาดหน้าใหญ่: 2 MB
ขนาดใหญ่: 0 MB
DirectMap4k: 179.078 MB
DirectMap2M: 3850 MB

ipcs -m --ผลตอบแทนของมนุษย์:

root@local:~# ipcs -m --human

------ ส่วนหน่วยความจำที่ใช้ร่วมกัน --------
เจ้าของคีย์ shmid อนุญาตขนาด natch สถานะ
0x00000000 2 ผู้ใช้ 600 512K 2 ปลายทาง
0x00000000 262202 ผู้ใช้ 600 512K 2 ปลายทาง

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

ระบบ: เซิร์ฟเวอร์ Ubuntu 20.04, 5.11.0-41-generic (HWE)

waltinator avatar
it flag
"การจัดสรรหน่วยความจำ" แปรผันอย่างรวดเร็ว - สถิติของคุณมาจากหลังจากที่ OOM-Killer บันทึกระบบของคุณ อ่าน `man ps top strace` เพื่อดูวิธีรับข้อมูลเพิ่มเติม ยังเร็วเกินไปในการวินิจฉัยปัญหาที่จะยืนยันความบริสุทธิ์ของส่วนประกอบใดๆ ถ้าคุณวัดคุณจะรู้
domsch avatar
pk flag
ฉันทำสถิติ (ฟรี, memstat) ก่อนที่ OOM killer จะยุติกระบวนการ ฉันได้อัปเดตโพสต์ ขอบคุณสำหรับคำแนะนำ ฉันจะตรวจสอบ
waltinator avatar
it flag
"แอป" ของคุณใช้ทรัพยากรบางอย่างอย่างต่อเนื่องซึ่งส่งผลให้หน่วยความจำหมด
waltinator avatar
it flag
หน่วยความจำ "`shared`" เป็นที่โหลด "shared libraries" (`*.so`) และแมปลงในพื้นที่ที่อยู่ของกระบวนการที่ใช้ไลบรารี เทคนิคนี้หลีกเลี่ยงไม่ให้แต่ละกระบวนการมีสำเนาของไลบรารีของตัวเอง และทำให้โปรแกรมมีขนาดเล็กลง ทำให้ปรับปรุงไลบรารีได้ง่ายขึ้น และใช้งานมาตั้งแต่สมัยก่อน หน่วยความจำ "`buff/cache`" ถูกเก็บไว้เล็กน้อย และใช้เพื่อเพิ่มความเร็วในการเข้าถึงข้อมูลที่บัฟเฟอร์หรือแคช โดย "ถือเล็กน้อย" ฉันหมายความว่ากระบวนการที่ใช้หน่วยความจำ `buff/cache` สามารถบอกให้ปล่อยโดยตัวจัดสรรหน่วยความจำ

โพสต์คำตอบ

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