Score:0

Wildfly : เปิดไฟล์มากเกินไป

ธง om
Ror

เมื่อเร็ว ๆ นี้เราได้รับข้อผิดพลาด "เปิดไฟล์มากเกินไป" ในการผลิต Wildfly 17 บนเดเบียน 9 การรีสตาร์ทบริการ Wildfly อย่างง่ายช่วยกำจัดข้อผิดพลาดได้ แต่ฉันต้องการหลีกเลี่ยงปัญหาที่จะกลับมาอีก ฉันต้องการเพิ่มขีดจำกัด แต่ฉันไม่แน่ใจว่าควรเปลี่ยนอะไร และฉันจะรู้ได้อย่างไรว่าการกำหนดค่าได้รับการพิจารณาแล้ว

ฉันตรวจสอบขีด จำกัด สำหรับผู้ใช้ wildfly ที่ไม่เข้าสู่ระบบ:

    sudo su - wildfly -c 'ulimit -a' -s '/bin/bash'
ขนาดไฟล์หลัก (บล็อก, -c) 0
ขนาด data seg (kbytes, -d) ไม่จำกัด
การจัดลำดับความสำคัญ (-e) 0
ขนาดไฟล์ (บล็อก, -f) ไม่จำกัด
สัญญาณที่รอดำเนินการ (-i) 117724
หน่วยความจำสูงสุดที่ล็อกไว้ (kbytes, -l) 64
ขนาดหน่วยความจำสูงสุด (kbytes, -m) ไม่จำกัด
เปิดไฟล์ (-n) 1024
ขนาดไปป์ (512 ไบต์, -p) 8
คิวข้อความ POSIX (ไบต์, -q) 819200
ลำดับความสำคัญตามเวลาจริง (-r) 0
ขนาดสแต็ก (kbytes, -s) 8192
เวลาซีพียู (วินาที, -t) ไม่จำกัด
กระบวนการของผู้ใช้สูงสุด (-u) 117724
หน่วยความจำเสมือน (kbytes, -v) ไม่จำกัด
ล็อคไฟล์ (-x) ไม่จำกัด

ดูเหมือนว่าขีดจำกัดจะตั้งไว้ที่ 1024 สำหรับผู้ใช้ อย่างไรก็ตาม ฉันสามารถตรวจสอบจำนวนไฟล์ที่เปิดอยู่โดยกระบวนการของ wildfly และฉันมีสิ่งนี้:

sudo ls -l /proc/PID/fd |wc -l
1296

ซึ่งเกินขีดจำกัดและฉันไม่พบข้อผิดพลาดใดๆ ในขณะนี้ มีวิธีกำหนดวงเงินให้สูงขึ้นอย่างถาวรหรือไม่ ? อาจจะอยู่ในไฟล์กำหนดค่า wildfly ? ฉันหลงทางนิดหน่อย

Score:2
ธง in

คุณต้องแก้ไข/เพิ่มบันทึกใน /etc/security/limits.conf. ตัวอย่างเช่น หนึ่งบันทึกสำหรับผู้ใช้ แมลงวัน และจำนวนไฟล์ที่เปิดอาจมีลักษณะดังนี้:

wildfly soft nofile 16384
wildfly ยาก nofile 16384

กำหนดจำนวนไฟล์ที่เปิดสำหรับผู้ใช้เป็น 16384

ป.ล. คุณควรออกจากระบบแล้วเข้าสู่ระบบ (ในฐานะผู้ใช้ แมลงวัน) เพื่อให้สิ่งนี้ใช้งานได้จริง

Ror avatar
om flag
Ror
โซลูชันนี้ดูเหมือนจะเพิ่มขีดจำกัดการเปิดไฟล์ แต่มีวิธีใดที่จะตรวจสอบว่าเซิร์ฟเวอร์ wildfly ของฉันใช้การกำหนดค่านี้หรือไม่
Romeo Ninov avatar
in flag
หากเซิร์ฟเวอร์แอปของคุณทำงานในฐานะผู้ใช้ `wildfly ` ก็จะใช้เซิร์ฟเวอร์ดังกล่าว คุณต้องออกจากระบบเท่านั้น จากนั้นเข้าสู่ระบบและรีสตาร์ทเซิร์ฟเวอร์
Ror avatar
om flag
Ror
ฉันสับสนเล็กน้อยในส่วนการเข้าสู่ระบบ/ออกจากระบบเนื่องจากผู้ใช้ wildfly เป็นผู้ใช้ที่ไม่ต้องเข้าสู่ระบบ ?
Romeo Ninov avatar
in flag
คุณใช้ `sudo` ดังนั้นเพียงแค่เปลี่ยนตัวเลขและด้วย `sudo` หยุดและเริ่มเซิร์ฟเวอร์ แนวคิดคือพารามิเตอร์เหล่านี้ถูกตั้งค่าระหว่างกระบวนการเข้าสู่ระบบ (หรือการดำเนินการ sudo)
Ror avatar
om flag
Ror
ตกลง ฉันเข้าใจแล้ว ขอบคุณ !

โพสต์คำตอบ

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