ฉันมีปัญหาที่น่างง ฉันมีห้องสมุดที่ใช้sgสำหรับการดำเนินการ CDB ที่กำหนดเอง มีคู่ของระบบที่เป็นประจำมีปัญหาเกี่ยวกับการจัดสรรหน่วยความจำมีSG โดยปกติแล้วSGคนขับมีขีด จำกัด หนักประมาณ 4MB แต่ที่เราเห็นบนระบบไม่กี่เหล่านี้ด้วย ~ คำขอ 2.3mb นั่นคือ CDBs กำลังเตรียมที่จะจัดสรรสำหรับการถ่ายโอน 2.3mb ไม่ควรมีปัญหาใด ๆ ที่นี่: 2.3 <4.0
ทีนี้รายละเอียดของตัวเครื่อง มันเป็นซีพียู 64 บิต แต่รัน CentOS 6.0 32- บิต (ฉันไม่ได้สร้างพวกเขาหรือฉันไม่มีส่วนเกี่ยวข้องกับการตัดสินใจนี้) เคอร์เนลเวอร์ชันสำหรับ CentOS distro นี้คือ 2.6.32 พวกเขามี RAM 16gb
นี่คือลักษณะการใช้หน่วยความจำในระบบ (แต่เนื่องจากข้อผิดพลาดนี้เกิดขึ้นในระหว่างการทดสอบอัตโนมัติฉันยังไม่ได้ตรวจสอบหากสิ่งนี้สะท้อนถึงสถานะเมื่อ errno นี้ส่งคืนจากsg )
top - 00:54:46 up 5 days, 22:05, 1 user, load average: 0.00, 0.01, 0.21
Tasks: 297 total, 1 running, 296 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 15888480k total, 9460408k used, 6428072k free, 258280k buffers
Swap: 4194296k total, 0k used, 4194296k free, 8497424k cached
ฉันพบบทความนี้จากLinux Journalซึ่งเกี่ยวกับการจัดสรรหน่วยความจำในเคอร์เนล บทความนี้เป็นวันที่ แต่ดูเหมือนจะเกี่ยวข้องกับ 2.6 (ความคิดเห็นบางประการเกี่ยวกับผู้เขียนที่หัว) บทความกล่าวถึงเคอร์เนลที่ถูก จำกัด ไว้ที่หน่วยความจำประมาณ 1gb (แม้ว่าจะไม่ชัดเจนโดยสิ้นเชิงจากข้อความหากแต่ละหน่วยความจำ 1GB สำหรับฟิสิคัลและเสมือนหรือทั้งหมด) ฉันสงสัยว่านี่เป็นคำสั่งที่ถูกต้องสำหรับ 2.6.32 หรือไม่ ในที่สุดฉันสงสัยว่าระบบเหล่านี้มีผลกระทบต่อขีด จำกัด นี้หรือไม่
แม้ว่านี่จะไม่ใช่คำตอบสำหรับปัญหาของฉัน แต่ฉันก็ยังสงสัยในความถูกต้องของการเรียกร้องค่า 2.6.32 ดังนั้นอะไรคือขีด จำกัด ที่แท้จริงของหน่วยความจำสำหรับเคอร์เนล สิ่งนี้อาจต้องพิจารณาสำหรับการแก้ไขปัญหา ข้อเสนอแนะอื่น ๆ ยินดีต้อนรับ สิ่งที่ทำให้สิ่งนี้ทำให้งงคือว่าระบบเหล่านี้เหมือนกับคนอื่น ๆ ที่ไม่แสดงปัญหาเดียวกันนี้