Score:0

GitHub Runner ใช้ RAM จริง 2 เท่า - การแก้ไขคืออะไร

ธง rs

ตอนนี้เซิร์ฟเวอร์ AWS ERP ของฉันขัดข้องถึง 4 เท่าเนื่องจากหน่วยความจำเต็มแล้วและระบบกำลังจะตายด้วย CPU 100% และไม่มี RAM ที่ใช้งานได้ [น้อย]

Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1060-aws x86_64) (AWS AMI)

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

GitHub เองก็สูญเสียการเชื่อมต่อกับตัวรันเนอร์ และหน่วยความจำเสมือนก็ทะลุเพดานแม้ว่าการดำเนินการจะเสร็จสิ้นแล้วก็ตาม

ครั้งที่สี่สิ่งนี้เกิดขึ้นในขณะที่ไม่มีอะไรทำงานอยู่ ในความเป็นจริงเซิร์ฟเวอร์ไม่ทำงานโดยไม่มีอะไรเกิดขึ้นฉันไม่มีบันทึกหรือภาพหน้าจอ "ยอดนิยม" ของสิ่งนั้น แต่ฉันจับมันได้ในครั้งเดียว:

รูปภาพของจอแสดงผล TOP

ดังนั้นระบบจึงเป็น AWS VM พร้อม RAM 4G โปรดทราบว่าฉันเชื่อว่า SI ที่ตั้งค่าระบบนี้ได้รับการกำหนดค่าให้ไม่มีพื้นที่สวอป นี่เป็นเนื้อหาที่ถูกต้อง [เนื้อหามาก] สำหรับเซิร์ฟเวอร์ ในแง่ที่ว่าหากมีหน่วยความจำรั่ว คุณต้องการให้ระบบรายงานว่าหน่วยความจำไม่เพียงพอและดำเนินการแก้ไข เช่นเดียวกับการรั่วไหลของหน่วยความจำ คุณก็ต้องตายอยู่ดี

ในระยะสั้นฉันถูกขอให้เพิ่ม RAM เป็นสองเท่า สิ่งนี้ค่อนข้างไม่จำเป็นเนื่องจากเป็นระบบที่โหลดน้อยมาก (โดยปกติจะทำงานโดยใช้ RAM เพียงประมาณ 2G เมื่อทำงานเป็นชุดจำนวนมาก) และตรงไปตรงมาหาก GitHub Runner.Worker ใช้ RAM สูงสุดที่ 7GB ในระบบ 4GB ทำไม มันจะไม่สูงสุดที่ 16GB of RAM บน 8GB VM แต่เราจะดูว่ามันล้มเหลวอีกหรือไม่ ฉันไม่รังเกียจที่จะเปลี่ยนการกำหนดค่าการแลกเปลี่ยนของ TFG แต่ฉันไม่แน่ใจว่ามันเป็นการแก้ไข

ฉันได้รายงานเรื่องนี้กับ GitHub แล้ว แต่หลังจากคิดว่าไม่มีการดำเนินการ >3 สัปดาห์ ฉันจะตรวจสอบที่นี่เพื่อดูว่าใครมีแนวคิดหรือการแก้ไขใดๆ

ขอขอบคุณ,

== จอห์น ==

in flag
คุณเคยพิจารณาที่จะเพิ่มไฟล์ swap ชั่วคราวเพื่อให้เซิร์ฟเวอร์มีพื้นที่หายใจเพิ่มขึ้นอีกเล็กน้อยเมื่อดำเนินการประมวลผลที่ต้องใช้หน่วยความจำสูง เช่น การนำเข้าข้อมูลหรือไม่? เมื่อทำงานเสร็จแล้ว คุณสามารถลบ (หรือย่อ) ไฟล์ swap ได้ โดยทั่วไปฉันมีการแลกเปลี่ยน 2GB บนอินสแตนซ์ EC2 ที่ไม่ใช่ชั่วคราวเพื่อให้เครื่องมีพื้นที่หายใจเพิ่มขึ้นเล็กน้อย
rs flag
ไม่มีแอพที่ใช้หน่วยความจำมากเกิดขึ้น มีการรั่วไหลของหน่วยความจำที่รุนแรงซึ่งเกิดขึ้นจากแอปของบุคคลที่สาม ดังนั้นเพิ่มการแลกเปลี่ยนเพื่ออะไร หนึ่งเทอราไบต์?
rs flag
ฟังดูเป็นการโต้แย้ง ข้อเสนอแนะของคุณเป็นคำตอบที่ยอมรับโดยทั่วไป แต่ฉันคิดว่ามีปัญหาที่ใหญ่กว่าที่นี่ เมื่อเซิร์ฟเวอร์มี RAM ไม่เพียงพอเนื่องจากหน่วยความจำรั่วหรืออะไรก็ตาม จริงๆ แล้วควรยกเลิกกระบวนการนี้ นั่นไม่ได้เกิดขึ้น การเพิ่มการแลกเปลี่ยนช่วยยืดอายุปัญหาเท่านั้น

โพสต์คำตอบ

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