Score:2

pthread_create ล้มเหลว (EAGAIN) กับซอฟต์แวร์ส่วนใหญ่

ธง vn

ฉันมี vServer (16GB RAM, 6 vCores) ที่ใช้เซิร์ฟเวอร์ Ubuntu (Linux 4.15.0) พร้อมคอนเทนเนอร์นักเทียบท่าสองสามตัว

ไม่กี่วันที่ผ่านมา ฉันปรับใช้คอนเทนเนอร์ใหม่ และมันก็ปฏิเสธที่จะเริ่มต้นด้วยการหยุดทำงานแบบเนทีฟแปลก ๆ จากนักเทียบท่าที่เขียน โดยส่วนใหญ่รวมถึงข้อความแสดงข้อผิดพลาดเหล่านี้:

fork/exec /usr/bin/containerd-shim-runc-v2: ทรัพยากรไม่พร้อมใช้งานชั่วคราว: ไม่ทราบ
รันไทม์/cgo: pthread_create ล้มเหลว: ทรัพยากรไม่พร้อมใช้งานชั่วคราว SIGABRT:
ไม่สามารถสร้างเธรดระบบปฏิบัติการใหม่ (มี 5 แล้ว errno=11) รันไทม์: อาจต้องเพิ่มกระบวนการของผู้ใช้สูงสุด (ulimit -u)

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

วันนี้ฉันต้องการเริ่มต้นเซิร์ฟเวอร์ Minecraft ของฉัน (Forge modded 1.16 บน Java 11 โดยไม่มีนักเทียบท่า) และปัญหาก็กลับมา:

[136,281s][warning][os,thread] ไม่สามารถเริ่มเธรด - pthread_create ล้มเหลว (EAGAIN) สำหรับแอตทริบิวต์: stacksize: 1024k, guardsize: 0k, แยกออก

และสิ่งที่แปลกประหลาดที่สุดจนถึงตอนนี้คือไม่สามารถเปิดอุปกรณ์ TTY ได้:

java.io.IOException: ไม่สามารถเรียกใช้โปรแกรม "stty": error=11, ทรัพยากรไม่พร้อมใช้งานชั่วคราว

หลังจากข้อความเหล่านี้ เซสชัน SSH เพิ่งล็อก และเทอร์มินัลที่สองแสดงให้ฉันเห็นว่าฉันยังไม่ถึงขีดจำกัด ยูลิมิต -aและในขณะที่เล่น Minecraft ฉันยังมี RAM 9GB ฟรี. ท็อป แสดง 90 งานที่กำลังทำงานอยู่ ฉันทำงานกับเซิร์ฟเวอร์ Linux มาหลายปีแล้ว ไม่เคยเจอข้อผิดพลาดแบบนี้เลย อะไรเป็นสาเหตุของสิ่งนี้

ฉันรู้ว่าข้อผิดพลาดเช่นนี้เคยถูกถามมาก่อนใน SF แต่ไม่มีคำตอบเดียวที่เปลี่ยนแปลงบางอย่างสำหรับฉัน

Michael Hampton avatar
cz flag
โปรดโพสต์ผลลัพธ์ของ 'virt-what' (ติดตั้งหากไม่มีอยู่)
vn flag
@MichaelHampton มันแสดง `openvz lxc`
Michael Hampton avatar
cz flag
นั่นเป็นข่าวร้ายทวีคูณ คอนเทนเนอร์ภายในคอนเทนเนอร์และคุณกำลังพยายามใช้ Docker หรือไม่ หยุดตอนนี้และรับเครื่องเสมือนจริงจากผู้ให้บริการรายอื่น
vn flag
@MichaelHampton หมายความว่าโฮสต์ของฉันใช้คอนเทนเนอร์ที่ซ้อนกันสองคอนเทนเนอร์แล้วใช่หรือไม่ จริง ๆ แล้วฉันไม่เคยมีปัญหาเลยจนถึงตอนนี้
Michael Hampton avatar
cz flag
นั่นคือสิ่งที่ดูเหมือน หรืออาจเป็น OpenVZ 7 ใหม่ที่ใช้ LXC ไม่ว่าคุณจะซ้อนคอนเทนเนอร์ด้วยวิธีใด นักเทียบท่าก็ต้องการความช่วยเหลือพิเศษในการทำเช่นนั้น และ OpenVZ ก็แปลกมากกับการจัดสรรทรัพยากรอยู่ดี เหนือสิ่งอื่นใดมันมีปัญหามากมายกับแอพ Java คนส่วนใหญ่หลีกเลี่ยง OpenVZ ได้ดีที่สุด
vn flag
@MichaelHampton โอเค ฉันไม่รู้ว่า... ฉันใช้งาน docker container บนระบบนั้นมาหลายเดือนแล้วและสิ่งนี้ไม่เคยเกิดขึ้น โดยทั่วไปแล้วไม่มีอะไรที่ฉันสามารถทำได้เพื่อแก้ไขปัญหานี้ยกเว้น serach สำหรับผู้ให้บริการรายอื่น อีกสิ่งหนึ่งที่ฉันสังเกตเห็นคือตั้งแต่นักเทียบท่าตัวแรกพัง บางครั้ง bash เองก็ล้มเหลวในการแยก () กระบวนการใหม่ - ด้วยข้อความแสดงข้อผิดพลาดเดียวกัน ... นั่นมาจาก virtualizer หรือไม่
vn flag
สิ่งนี้ดูเหมือนจะเกิดขึ้นเมื่อมีคอนเทนเนอร์นักเทียบท่า "จำนวนมาก" อยู่แล้ว (ปัจจุบันฉันมี 18 รายการที่แน่นอน)
Score:1
ธง vn

ในที่สุดก็พบปัญหา: โฮสต์ของฉันจำกัดจำนวนเธรดไว้ที่ 700 ในการกำหนดค่า OpenVZ

ฉันสามารถเห็นได้ว่าใน /proc/user_beancounters. ดูเหมือนว่าถ้า ตัวเลข เข้าใกล้ 700 ข้อผิดพลาดเหล่านี้เกิดขึ้น ฉันทำอะไรไม่ได้นอกจากลดจำนวนเธรด/คอนเทนเนอร์นักเทียบท่า

โพสต์คำตอบ

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