การใช้หน่วยความจำสูงไม่ใช่ปัญหาเสมอไป - ต้องใช้หน่วยความจำ ดังนั้น OS / ซอฟต์แวร์จึงใช้เป็นแคช เป็นเพียงปัญหาหากระบบปฏิบัติการเริ่มฆ่ากระบวนการเนื่องจากไม่มีหน่วยความจำเพียงพอ
คุณให้ข้อมูลเราน้อยมาก ไม่แม้แต่ผลลัพธ์ "ยอดนิยม" ดังนั้นสิ่งที่ฉันใส่ไว้ด้านล่างนี้เป็นการคาดเดา
ในกรณีของคุณ ฉันสงสัยว่าคุณได้กำหนดค่า PHP ให้มีเธรดมากกว่าความจุหน่วยความจำที่คุณมี คุณควรตรวจสอบให้แน่ใจว่าคุณไม่ได้จัดสรรหน่วยความจำมากเกินไปให้กับผู้ปฏิบัติงาน PHP แต่ละคน และคุณไม่ได้กำหนดค่าผู้ปฏิบัติงานมากเกินไป
บน Ubuntu การกำหนดค่าของฉันอยู่ที่ /etc/php/7.4/fpm/pool.d/www.conf รายการสำคัญที่ฉันได้กำหนดค่าสำหรับเซิร์ฟเวอร์ของฉันที่มี 512MB RAM และ 1GB swap อยู่ด้านล่าง
pm = ไดนามิก
pm.max_children = 3
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
คุณสามารถใช้ "pm = ondemand" แทนได้ ซึ่งหมายความว่าจะไม่มีการสร้างผู้ปฏิบัติงาน PHP จนกว่าจะจำเป็น ซึ่งมีประโยชน์เฉพาะสำหรับเว็บไซต์ที่มีปริมาณการใช้งานต่ำมาก ซึ่งเวลาตอบสนองไม่สำคัญเกินไป
ใน php.ini ของคุณ (ซึ่งสำหรับฉันคือ /etc/php/7.4/fpm/php.ini) คุณสามารถกำหนดค่าขีดจำกัดหน่วยความจำต่อเธรดผู้ปฏิบัติงานได้ นี่คือจำนวนหน่วยความจำที่ได้รับในแต่ละเธรดผู้ปฏิบัติงาน - ปรับให้ต่ำที่สุดเท่าที่จะทำได้ในขณะที่เว็บไซต์ของคุณยังใช้งานได้ สิ่งนี้ได้รับการกำหนดค่าสำหรับ Wordpress
memory_limit = 128M