Score:0

Apache เว็บเซิร์ฟเวอร์: ฆ่ากระบวนการ/เธรดโดยอัตโนมัติซึ่งใช้ RAM มากเกินไป

ธง mp

เรากำลังเรียกใช้เว็บเซิร์ฟเวอร์ Apache (เวอร์ชัน 2.4.51 บน Debian 11) ซึ่งนำเสนอเว็บไซต์ขนาดใหญ่ที่มีสคริปต์มากมาย ซึ่งทั้งหมดเขียนด้วยภาษา Perl ปัญหาคือไม่มีใครสามารถเข้าใจได้ว่าโค้ดทำงานอย่างไร และฟังก์ชันต่างๆ จะถูกแทนที่ด้วยซอฟต์แวร์ใหม่ที่เขียนด้วย PHP อย่างต่อเนื่อง บางครั้งแม้ว่ารหัส Perl เก่าจะทำงานวนซ้ำ แต่ก็เริ่มใช้ RAM มากเกินไปและเว็บเซิร์ฟเวอร์ Apache ก็ถูกฆ่าโดย OOM killer ของเคอร์เนล สิ่งนี้ไม่ได้เกิดขึ้นบ่อยนัก แต่เมื่อมันเกิดขึ้น มีคนต้องลงชื่อเข้าใช้เซิร์ฟเวอร์และรีสตาร์ท Apache ซึ่งเสียเวลาอันมีค่าเนื่องจากเว็บไซต์มอบฟังก์ชันการทำงานที่สำคัญให้กับผู้ใช้

ข้อกำหนดคือการกำหนดค่าเว็บเซิร์ฟเวอร์ Apache เพื่อให้เธรดที่ทำงานในลูปถูกฆ่าก่อนที่ OOM killer จะฆ่ากระบวนการพาเรนต์ของ Apache เธรด Apache อื่น ๆ ทั้งหมดควรทำงานต่อไป เฉพาะเธรดที่ใช้ RAM มากเกินไปเท่านั้นที่ควรลบ/ยกเลิกโดย Apache เองหรือฟังก์ชันกลุ่มย่อยของ Systemd (หรือวิธีอื่นถ้ามี)

เป็นไปได้อย่างไรที่จะปฏิบัติตามข้อกำหนดนี้?

โพสต์คำตอบ

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