Ubuntu 18.04 ทีละขั้นตอน
หวังว่าทั้งหมดนี้ช่วยได้ค่อนข้างนาน แต่ใช้งานได้ (มีหลักฐาน)
ฉันเจอชุดข้อความนี้ขณะติดตั้ง MongoDb บน Ubuntu 18.04
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
อย่างที่คุณเห็นมันค่อนข้างเก่า แต่มันก็ใช้ได้กับฉัน
นี่คือสิ่งที่ฉันทำ
การตั้งค่าที่แนะนำ MongoDb ( https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits )
- -f (ขนาดไฟล์): ไม่ จำกัด
- -t (เวลา cpu): ไม่ จำกัด
- -v (หน่วยความจำเสมือน): ไม่ จำกัด [1]
- -l (ขนาดล็อคในหน่วยความจำ): ไม่ จำกัด
- -n (เปิดไฟล์): 64000
- -m (ขนาดหน่วยความจำ): ไม่ จำกัด [1] [2]
- -u (กระบวนการ / เธรด): 64000
ตรวจสอบข้อ จำกัด ปัจจุบันของฉัน
ubuntu @ isdb-stage: ~ $ ulimit -a
ขนาดไฟล์หลัก (บล็อก, -c) 0
ขนาดของข้อมูล seg (kbytes, -d) ไม่ จำกัด
ลำดับความสำคัญของการกำหนดเวลา (-e) 0
ขนาดไฟล์ (บล็อก, -f) ไม่ จำกัด
สัญญาณที่รอดำเนินการ (-i) 7873
หน่วยความจำสูงสุดถูกล็อค (kbytes, -l) 16384
ขนาดหน่วยความจำสูงสุด (kbytes, -m) ไม่ จำกัด
เปิดไฟล์ (-n) 1024
ขนาดท่อ (512 ไบต์, -p) 8
POSIX คิวข้อความ (ไบต์, -q) 819200
ลำดับความสำคัญตามเวลาจริง (-r) 0
ขนาดสแต็ก (kbytes, -s) 8192
เวลา cpu (วินาที, -t) ไม่ จำกัด
กระบวนการผู้ใช้สูงสุด (-u) 7873
หน่วยความจำเสมือน (kbytes, -v) ไม่ จำกัด
ล็อคไฟล์ (-x) ไม่ จำกัด
จดบันทึกสิ่งที่ต้องเปลี่ยน
- ขนาดล็อคในหน่วยความจำจะต้องตั้งค่าไม่ จำกัด
- เปิดไฟล์ต้องตั้งค่าเป็น 64000
- กระบวนการ / เธรด * , จำเป็นต้องตั้งค่าเป็น 64000
อูบุนตูพูดว่าอย่างไรเกี่ยวกับวิธีเปลี่ยนขีด จำกัด เหล่านี้?
$ man limit.conf
ชื่อ
limit.conf - ไฟล์กำหนดค่าสำหรับโมดูล pam_limits
รายละเอียด
โมดูล pam_limits.so ใช้การ จำกัด ulimit ลำดับความสำคัญดีและจำนวนของเซสชันการล็อกอินพร้อมกันเพื่อ จำกัด เซสชันการล็อกอินของผู้ใช้ คำอธิบายของไวยากรณ์ไฟล์การกำหนดค่านี้ใช้กับ
ไฟล์ /etc/security/limits.conf และไฟล์ * .conf ในไฟล์
ไดเร็กทอรี /etc/security/limits.d
- ดูเหมือนจะค่อนข้างชัดเจนพอสมควรแก้ไขไฟล์ /etc/security/limits.conf ตกลงช่วยคิดออก ....
นี่คือจุดเริ่มต้นของไฟล์และดูว่ามันมีคำแนะนำภายในแน่นอนจำไว้ว่านี่เป็นโอเพนซอร์ซที่เขียนโดยคนดี! :)
vi /etc/security/limits.conf
# /etc/security/limits.conf
#Each line อธิบายขีด จำกัด ของผู้ใช้ในรูปแบบ:
#
#Where:
# เป็นไปได้:
# - ชื่อผู้ใช้
(ดูไฟล์ด้วยตัวคุณเองหากคุณต้องการรายละเอียดเพิ่มเติม)
- ในที่สุดก็ทำการเปลี่ยนแปลง เป็น MongoDb ทำงานเป็นกลุ่ม mongodb และผู้ใช้มันจะเป็นความคิดที่ดีในการเพิ่มผู้ใช้ที่ จำกัด เท่านั้น ฉันเห็น '*' ใช้ที่นี่และที่นั่นสำหรับฉันนั่นเป็นความเสี่ยงด้านความปลอดภัย จะให้ข้อ จำกัด เหล่านี้ทั้งหมดบนเซิร์ฟเวอร์ซึ่งสามารถใช้เพื่อขยายเซิร์ฟเวอร์ของคุณให้สูงสุด ดังนั้นช่วยให้พวกเขาสำหรับผู้ใช้ mongodb เท่านั้น
นี่คือการเปลี่ยนแปลงของฉัน: -
mongodb soft memlock ไม่ จำกัด
mongodb ฮาร์ด memlock ไม่ จำกัด
อ่อนนุ่มอ่อนหวาน 64000
mongodb ยาก nofile 64000
Mongodb soft nproc 64000
Mongodb ฮาร์ด nproc 64000
ในที่สุดสุดท้ายจำไว้ว่าในรายการ Man จำกัด.conf
limit.conf - ไฟล์กำหนดค่าสำหรับโมดูล pam_limits
ดีกว่าตรวจสอบให้แน่ใจว่าโหลดโมดูล pam_limits เพื่อให้ข้อ จำกัด ทั้งหมดนี้ใช้งานได้ เมื่อต้องการทำสิ่งนี้ให้คุณแก้ไข /etc/pam.d/common-session ของหลักสูตรนี้ยังอยู่ในหน้าคน
sudo vi /etc/pam.d/common-session
# เพิ่มรายการนี้เพื่อให้แน่ใจว่ามีการโหลด pam_limits.so
เซสชันที่ต้องการ pam_limits.so
การรีบูตจะแสดงข้อ จำกัด (สำหรับผู้ใช้ mongodb) หากคุณใช้พวกเขาโดยใช้ '*' แทนคุณสามารถตรวจสอบได้โดยไม่ต้องเปลี่ยนไปใช้ผู้ใช้ mongodb เพียงรันคำสั่งนี้
$ ulimit -a
ขนาดไฟล์หลัก (บล็อก, -c) 0
ขนาดของข้อมูล seg (kbytes, -d) ไม่ จำกัด
ลำดับความสำคัญของการกำหนดเวลา (-e) 0
ขนาดไฟล์ (บล็อก, -f) ไม่ จำกัด
สัญญาณที่รอดำเนินการ (-i) 7873
หน่วยความจำล็อคสูงสุด (kbytes, -l) ไม่ จำกัด
ขนาดหน่วยความจำสูงสุด (kbytes, -m) ไม่ จำกัด
เปิดไฟล์ (-n) 64000
ขนาดท่อ (512 ไบต์, -p) 8
POSIX คิวข้อความ (ไบต์, -q) 819200
ลำดับความสำคัญตามเวลาจริง (-r) 0
ขนาดสแต็ก (kbytes, -s) 8192
เวลา cpu (วินาที, -t) ไม่ จำกัด
กระบวนการผู้ใช้สูงสุด (-u) 64000
หน่วยความจำเสมือน (kbytes, -v) ไม่ จำกัด
ล็อคไฟล์ (-x) ไม่ จำกัด
อย่างที่คุณเห็น lubbly jubbly ตั้งค่าขีด จำกัด ที่เราต้องการ