Score:1

ฉันจะดูเนื้อหาหน่วยความจำของกระบวนการ nginx ได้อย่างไร

ธง br

เซิร์ฟเวอร์ Nginx 1.20.1 ทำงานเป็นพร็อกซีย้อนกลับซึ่งใช้หน่วยความจำจำนวนมากและทำให้บริการหยุดลงโดยต้องรีบูตระบบ ModSecurity ไลบรารียังกำหนดค่าบน Nginx

คุณจะเห็นในกราฟถัดไปว่าจำนวนการเชื่อมต่อที่สร้างขึ้นจะคงที่ประมาณ 200 ในขณะที่กราฟที่สองแสดงหน่วยความจำที่เพิ่มขึ้นอย่างต่อเนื่องจนกว่าจะถึง 100%

การใช้ทรัพยากรโดย Nginx

เมื่อฉันกรองผลลัพธ์ของ สูงสุด สั่งการ คำสั่ง = nginx เข้าใจแล้ว:

บน - 16:31:18 อัพ 1 วัน 1:54 ผู้ใช้ 2 คน โหลดเฉลี่ย: 0.26, 0.57, 0.66
งาน: ทั้งหมด 179, 2 วิ่ง, 177 นอน, 0 หยุด, 0 ซอมบี้
%Cpu(s): 6.0 us, 0.2 sy, 0.0 ni, 93.4 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : รวม 12,010.4, ฟรี 184.6, ใช้ไป 3818.6, บัฟ/แคช 8007.3
MiB Swap: รวม 975.0, ฟรี 968.7, ใช้ไป 6.3 7858.8 ประโยชน์ Mem

  ผู้ใช้ PID PR NI VIRT RES SHR S %CPU %MEM TIME+ คำสั่ง
26553 nginx 20 0 2624044 2.4g 9004 S 7.0 20.3 1:34.85 nginx
26554 nginx 20 0 2625580 2.4g 8932 S 0.7 20.4 0:18.12 nginx
26555 nginx 20 0 2627508 2.4g 8872 S 0.7 20.4 0:04.52 nginx
10284 รูท 20 0 2624568 2.4g 7772 S 0.0 20.3 0:29.08 nginx
26556 nginx 20 0 2624572 2.4g 8812 S 0.0 20.3 0:00.93 nginx

นี่คือผลลัพธ์ของ pmap -d 26553 สั่งการ:

26553: nginx: กระบวนการของผู้ปฏิบัติงาน
ที่อยู่การแมปอุปกรณ์ออฟเซ็ตโหมด Kbytes
0000557a808e7000 164 r---- 0000000000000000 008:00001 nginx
0000557a80910000 824 r-x-- 0000000000029000 008:00001 nginx
0000557a809de000 204 r---- 00000000000f7000 008:00001 nginx
0000557a80a12000 8 r---- 000000000012a000 008:00001 nginx
0000557a80a14000 132 rw--- 000000000012c000 008:00001 nginx
0000557a80a35000 128 rw--- 0000000000000000 000:00000 [ อานนท์ ]
0000557a81b7c000 264740 rw--- 0000000000000000 000:00000 [ อานนท์ ]
0000557a91e05000 1965680 rw--- 0000000000000000 000:00000 [ อานนท์ ]
0000557b09da1000 1536 rw--- 0000000000000000 000:00000 [ อานนท์ ]
00007fefb919a000 292672 rwx-- 0000000000000000 000:00000 [ อานนท์ ]

ฉันรู้สึกว่าไม่ใช่เรื่องปกติที่ Nginx จะใช้หน่วยความจำมากขนาดนั้นเมื่อทำงานเป็นพร็อกซีย้อนกลับ เซิร์ฟเวอร์มี vCPU 4 ตัวและหน่วยความจำ 12GB (เป็น 6GB จนกระทั่งเมื่อสัปดาห์ที่แล้วเมื่อเซิร์ฟเวอร์เริ่มหยุดทำงานและทำให้เซิร์ฟเวอร์ไม่ตอบสนอง) แต่ฉันไม่แน่ใจว่าจะดำเนินการต่อจากที่นี่อย่างไร

jp flag
แสดงการกำหนดค่าของคุณด้วย `nginx -T`
Ronaldo avatar
br flag
@AlexD เพื่อไม่ให้เสียคำถามที่ฉันได้เพิ่มไว้ [ที่นี่](https://ideone.com/sQ25vU)
jp flag
ผู้ต้องสงสัยหลักน่าจะเป็น mod_security หากคุณปิดใช้งาน คุณยังคงพบว่าการใช้หน่วยความจำเพิ่มขึ้นเท่าเดิมหรือไม่
jp flag
ดู [ปัญหา mod_security](https://github.com/SpiderLabs/ModSecurity-nginx/issues/236)
Ronaldo avatar
br flag
@AlexD ฉันยังไม่ได้ปิดการใช้งาน mod_security เนื่องจากเป็นสาเหตุหลักที่ทำให้เซิร์ฟเวอร์ทำงานอยู่ฉันจะวางแผนที่จะทำการทดสอบนั้น และขอบคุณสำหรับการแชร์ลิงก์การรั่วไหลของหน่วยความจำ ฉันกำลังอ่านตอนนี้และพยายามทำความเข้าใจว่า mod_security เวอร์ชันใหม่ได้รับการเผยแพร่แล้วหรือไม่ตั้งแต่ฉันติดตั้ง
djdomi avatar
za flag
อย่าใช้วิธีแก้ปัญหา nopaste ใด ๆ ให้เพิ่มลงในคำถามโดยตรง ซึ่งจะช่วยปรับปรุงคุณภาพของคำถามของคุณ
Ronaldo avatar
br flag
@AlexD ดูเหมือนว่าปัญหาของฉันเกี่ยวข้องกับโพสต์ของ [Michal256](https://github.com/SpiderLabs/ModSecurity-nginx/issues/236#issuecomment-759569912) จากลิงก์ที่คุณให้ไว้ ฉันกำลังโหลด modsecurity สำหรับทุก 'เซิร์ฟเวอร์' ฉันได้เปลี่ยนเป็นระดับ `http` และดูเหมือนว่าจะแก้ไขแล้ว ฉันจะคอยสังเกตการณ์ในช่วงที่เหลือของสัปดาห์ และถ้ายืนยันว่าจะแก้ปัญหาได้ ฉันจะบอกคุณ เพื่อให้คุณเขียนคำตอบเพื่อให้ได้รับการยอมรับ ขอบคุณ!
Ronaldo avatar
br flag
สวัสดีปีใหม่ @AlexD และขอขอบคุณอีกครั้ง คำแนะนำของคุณเกี่ยวกับ modsecurity ได้รับการพิสูจน์แล้วว่าถูกต้อง เซิร์ฟเวอร์ไม่มีปัญหาหน่วยความจำในสัปดาห์ที่ผ่านมา การเปลี่ยนแปลงเพียงอย่างเดียวที่ฉันต้องทำคือการลบ `modsecurity on;' และ `modsecurity_rules_file` หลายรายการออกจากบริบทเซิร์ฟเวอร์ และเพิ่มเพียงครั้งเดียวที่บริบท http คุณสามารถเขียนคำตอบเพื่อรับได้!

โพสต์คำตอบ

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