เมื่อเร็ว ๆ นี้เราได้รับข้อผิดพลาด "เปิดไฟล์มากเกินไป" ในการผลิต 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 ? ฉันหลงทางนิดหน่อย