คำถามติดแท็ก limit

การ จำกัด การใช้ทรัพยากร (หน่วยความจำพื้นที่ดิสก์เวลา CPU ไฟล์ที่เปิดแบนด์วิธเครือข่าย ... ) โดยกระบวนการหรือกลุ่มของกระบวนการ

5
การเปลี่ยนแปลงใน /etc/security/limits.conf ต้องมีการรีบูตหรือไม่
การเปลี่ยนแปลง/etc/security/limits.confต้องมีการรีบูตก่อนที่จะมีผลหรือไม่ เช่นถ้าฉันมีสคริปต์ที่ตั้งค่าขีด จำกัด ต่อไป/etc/security/limits.confนี้สิ่งนี้จำเป็นต้องรีบูตระบบก่อนที่ข้อ จำกัด เหล่านั้นจะมีผลหรือไม่ * hard nofile 94000 * soft nofile 94000 * hard nproc 64000 * soft nproc 64000
144 limit  ulimit 

3
ทำไมจำนวนไฟล์ที่เปิดอยู่ จำกัด ใน Linux?
ตอนนี้ฉันรู้วิธี: ค้นหาการ จำกัด การเปิดไฟล์ต่อกระบวนการ: ulimit -n นับจำนวนไฟล์ที่เปิดทั้งหมดโดยกระบวนการทั้งหมด: lsof | wc -l รับจำนวนไฟล์ที่เปิดสูงสุดที่อนุญาต: cat /proc/sys/fs/file-max คำถามของฉันคือเหตุใดจึงมีข้อ จำกัด ของไฟล์ที่เปิดอยู่ใน Linux?
136 open-files  limit 

7
ฉันจะ จำกัด จำนวนไฟล์ที่พิมพ์โดย ls ได้อย่างไร
มีวิธี จำกัด ปริมาณไฟล์ที่ระบุในlsคำสั่งหรือไม่? ฉันเคยเห็น: ls | head -4 แต่จะได้รับheadหรือtailดำเนินการฉันต้องรอlsให้การดำเนินการเสร็จสิ้นและไดเรกทอรีที่มีไฟล์จำนวน enourmous ซึ่งอาจใช้เวลานาน ฉันต้องการรันlsคำสั่งที่ จำกัด โดยไม่ใช้headคำสั่งนั้น
89 command-line  ls  limit 

3
จะสร้างผู้ใช้ที่มีการใช้งาน RAM จำกัด ได้อย่างไร?
ดังนั้นฉันจึงมี 4 GB RAM + 4GB swap ฉันต้องการสร้างผู้ใช้ที่มี ram และ swap จำกัด : 3 GB RAM และ 1 GB swap เป็นไปได้ไหม เป็นไปได้หรือไม่ที่จะเริ่มต้นแอพพลิเคชั่นด้วย RAM ที่ จำกัด และสลับใช้ได้โดยไม่ต้องสร้างผู้ใช้แยกต่างหาก (และไม่ติดตั้งแอพพิเศษใด ๆ - มีเพียงแค่การกำหนดค่าเซิร์ฟเวอร์ Debian / CentOS เริ่มต้น ปรับปรุง: ดังนั้นฉันเปิด terminall และพิมพ์ลงในคำสั่งulimit : ulimit -v 1000000ซึ่งจะเป็น976,6Mbข้อ จำกัด ต่อไปฉันโทรไปulimit -aและเห็นข้อ จำกัด นั้นคือ "เปิด" จากนั้นผมเริ่มทุบตีสคริปต์บางที่รวบรวมและเริ่ม app …

3
การสร้างเธรดล้มเหลวด้วย“ ทรัพยากรไม่พร้อมใช้งานชั่วคราว” ด้วยเคอร์เนล 4.3
ฉันกำลังเรียกใช้เซิร์ฟเวอร์นักเทียบท่าบน Arch Linux (เคอร์เนล 4.3.3-2) พร้อมคอนเทนเนอร์หลายตัว ตั้งแต่รีบูตครั้งล่าสุดของฉันทั้งเซิร์ฟเวอร์นักเทียบท่าและโปรแกรมแบบสุ่มภายในคอนเทนเนอร์เกิดข้อผิดพลาดพร้อมกับข้อความว่าไม่สามารถสร้างเธรดหรือ (บ่อยกว่า) เพื่อแยก ข้อผิดพลาดที่เฉพาะเจาะจงจะแตกต่างกันขึ้นอยู่กับโปรแกรม Resource temporarily unavailableแต่ส่วนใหญ่ของพวกเขาดูเหมือนจะพูดถึงข้อผิดพลาดที่เฉพาะเจาะจง ดูที่ส่วนท้ายของโพสต์นี้เพื่อดูข้อความแสดงข้อผิดพลาด ขณะนี้มีคนจำนวนมากที่ได้รับข้อความแสดงข้อผิดพลาดนี้และมีคำตอบมากมาย สิ่งที่น่าผิดหวังจริงๆคือทุกคนดูเหมือนจะคาดเดาว่าปัญหาจะสามารถแก้ไขได้อย่างไร แต่ดูเหมือนว่าไม่มีใครที่จะชี้ให้เห็นว่าจะระบุสาเหตุของปัญหาที่อาจเกิดขึ้นได้บ้าง ฉันได้รวบรวมสาเหตุที่เป็นไปได้ 5 ข้อสำหรับข้อผิดพลาดและวิธีการตรวจสอบว่าไม่มีอยู่ในระบบของฉัน: มีข้อ จำกัด ทั้งระบบเกี่ยวกับจำนวนเธรดที่กำหนดค่าใน/proc/sys/kernel/threads-max( ซอร์ส ) 60613ในกรณีของฉันนี้ถูกตั้งค่า ทุกเธรดใช้พื้นที่บางส่วนในสแต็ก ขีด จำกัด ขนาดสแต็กถูกกำหนดค่าโดยใช้ulimit -s( แหล่งที่มา ) ข้อ จำกัด สำหรับเปลือกของฉันเคยเป็น8192แต่ฉันได้เพิ่มมันโดยใส่* soft stack 32768เข้าไป/etc/security/limits.confดังนั้นulimit -sตอนนี้มันกลับ32768มา ฉันได้เพิ่มมันสำหรับกระบวนการนักเทียบท่าด้วยการใส่LimitSTACK=33554432ลงไป/etc/systemd/system/docker.service( แหล่งที่มาและฉันตรวจสอบว่าข้อ จำกัด ที่ใช้โดยการดู/proc/<pid of docker>/limitsและโดยการทำงานulimit -sภายในคอนเทนเนอร์นักเทียบท่า ทุกเธรดใช้หน่วยความจำบางส่วน ulimit -vวงเงินหน่วยความจำเสมือนมีการกำหนดค่าการใช้ …
39 linux  docker  limit  fork  thread 

3
จำกัด การเชื่อมต่อสูงสุดต่อที่อยู่ IP และการเชื่อมต่อใหม่ต่อวินาทีด้วย iptables
เรามีเซิร์ฟเวอร์ Ubuntu 12.04 ที่มี httpd บนพอร์ต 80 และเราต้องการ จำกัด : การเชื่อมต่อสูงสุดต่อที่อยู่ IP ไปยัง httpd ถึง 10 การเชื่อมต่อใหม่สูงสุดต่อวินาทีถึง httpd ถึง 150 เราจะทำสิ่งนี้กับ iptables ได้อย่างไร
37 iptables  limit 

7
จำกัด กระบวนการไม่ให้เกินกว่า 10% ของการใช้งาน CPU
ฉันใช้งานระบบ Linux ซึ่งมีผู้ใช้จำนวนมาก แต่บางครั้งก็มีการละเมิดเกิดขึ้น ที่ผู้ใช้อาจเรียกใช้กระบวนการเดียวที่ใช้ CPU / หน่วยความจำมากกว่า 80% ดังนั้นมีวิธีที่จะป้องกันไม่ให้เกิดขึ้นโดย จำกัด ปริมาณการใช้ CPU ที่กระบวนการสามารถใช้ (ตัวอย่างเช่น 10%)? ฉันรู้cpulimitแต่มันใช้ขีด จำกัด กับกระบวนการที่ฉันสั่งให้ จำกัด (เช่นกระบวนการเดียว) ดังนั้นคำถามของฉันคือฉันจะใช้ข้อ จำกัด กับกระบวนการทำงานและกระบวนการทั้งหมดที่จะทำงานในอนาคตได้อย่างไรโดยไม่ต้องระบุ id / path ตัวอย่างเช่น

5
ฉันจะเพิ่มขีด จำกัด การเปิดไฟล์สำหรับกระบวนการทั้งหมดได้อย่างไร
ฉันสามารถใช้ ulimit ได้ แต่ฉันคิดว่ามันมีผลกับเซสชั่นเชลล์เท่านั้น ฉันต้องการขีด จำกัด ที่เพิ่มขึ้นสำหรับกระบวนการทั้งหมด นี่คือ Red Hat
32 rhel  limit  ulimit  resources 

4
วิธี Throttle ต่อกระบวนการ I / O ถึงขีด จำกัด สูงสุด
ฉันกำลังมองหาวิธี จำกัด กระบวนการของดิสก์ io ถึงขีด จำกัด ความเร็วที่ตั้งไว้ โดยหลักการแล้วโปรแกรมจะทำงานคล้ายกับสิ่งนี้: $ limitio --pid 32423 --write-limit 1M จำกัด กระบวนการ 32423 ถึง 1 เมกะไบต์ต่อวินาทีความเร็วในการเขียนฮาร์ดไดรฟ์

8
ทำดิสก์ / ดิสก์ให้ช้าลง
มีวิธีการชะลอกระบวนการคัดลอกบน Linux หรือไม่ ฉันมีไฟล์ขนาดใหญ่พูด 10GB และฉันต้องการคัดลอกไปยังไดเรกทอรีอื่น แต่ฉันไม่ต้องการคัดลอกด้วยความเร็วเต็ม สมมติว่าฉันต้องการคัดลอกด้วยความเร็ว 1mb / s ไม่ใช่เร็วขึ้น ฉันต้องการใช้cpคำสั่งLinux มาตรฐาน เป็นไปได้ไหม (ถ้าใช่เป็นอย่างไร) แก้ไข : ดังนั้นฉันจะเพิ่มบริบทเพิ่มเติมให้กับสิ่งที่ฉันพยายามจะทำให้สำเร็จ ฉันมีปัญหาเกี่ยวกับระบบ ArchLinux เมื่อคัดลอกไฟล์ขนาดใหญ่ผ่าน USB (ไปยัง pendrive, ดิสก์ usb ฯลฯ ) หลังจากเติมบัฟเฟอร์บัฟเฟอร์ usb แล้วระบบของฉันจะหยุดการตอบสนอง (แม้กระทั่งเมาส์จะหยุดทำงาน แต่จะเคลื่อนที่เป็นระยะ ๆ ) การดำเนินการคัดลอกยังคงดำเนินต่อไป แต่ใช้ทรัพยากร 100% ของกล่อง เมื่อการคัดลอกเสร็จสิ้นทุกอย่างกลับสู่ปกติ - ทุกอย่างตอบสนองได้อย่างสมบูรณ์แบบอีกครั้ง อาจเป็นข้อผิดพลาดของฮาร์ดแวร์ฉันไม่รู้ แต่ฉันรู้ว่าฉันมีสองเครื่องที่มีปัญหานี้ (ทั้งสองอยู่ใน ArchLinux, หนึ่งคือกล่องเดสก์ท็อป, ที่สองคือแล็ปท็อป) "แก้ปัญหา" …

4
แก้ไข ulimit (เปิดไฟล์) ของกระบวนการเฉพาะ
เป็นไปได้ไหมที่จะเปลี่ยนขีด จำกัดซอฟต์และฮาร์ดของกระบวนการเฉพาะ ? ในกรณีของฉันกระบวนการของฉันคือmongodและแหล่งข้อมูลบนเว็บมากมายบอกให้ฉันดำเนินการอย่างง่ายๆ ulimit -n <my new value> ความคิดปัจจุบันของฉัน: คำสั่งจะรู้ถึงขีด จำกัด ของกระบวนการที่ฉันจะแก้ไขได้อย่างไร สิ่งนี้จะไม่แก้ไขขีด จำกัด การเปิดไฟล์ทั้งหมดของระบบหรือ ฉันเดาว่าคำสั่งนี้จะเปลี่ยนการ จำกัด นุ่ม ดังนั้นจะมีวิธีเพิ่มขีด จำกัด ฮาร์ดด้วยหรือไม่
27 limit  ulimit 

4
วิธี จำกัด การใช้ทรัพยากรเพื่อบันทึก CPU + RAM สำหรับกระบวนการบางอย่าง
ฉันมีเซิร์ฟเวอร์ dev ที่sshdบางครั้งหยุดทำงานเนื่องจากเครื่องไม่มี RAM ใช่เรามีหน่วยความจำเหลือน้อยและการอัพเกรดไม่ใช่ตัวเลือกที่เป็นไปได้ในขณะนี้ สิ่งที่ฉันต้องการจะทำคือการบอกเครื่อง: "ทำสิ่งที่คุณต้องการ แต่ให้เหลือ 20MB และ CPU สำหรับsshd!" จะทำอย่างไร?

1
มีการใช้วงเงิน limit.conf แบบต่อกระบวนการหรือไม่
ผมปรับnofileค่าใน/etc/security/limits.confสำหรับผู้ใช้ oracle ของฉันและฉันมีคำถามเกี่ยวกับพฤติกรรมของมัน: ไม่nofileจำกัด จำนวนไฟล์ที่ผู้ใช้สามารถมีเปิดให้บริการสำหรับทุกกระบวนการของมันหรือไม่ก็ จำกัด จำนวนไฟล์ที่ผู้ใช้สามารถมี เปิดสำหรับแต่ละกระบวนการหรือไม่ โดยเฉพาะสำหรับการใช้งานดังต่อไปนี้: oracle hard nofile 65536
25 linux  files  limit 


3
ข้อ จำกัด ในทางปฏิบัติเกี่ยวกับจำนวนสแน็ปช็อต btrfs หรือไม่
ฉันกำลังพิจารณาใช้ btrfs บนไดรฟ์ข้อมูลของฉันเพื่อให้ฉันสามารถใช้ปลากะพงหรืออะไรทำนองปลากะพงเพื่อใช้เวลา snapshot ตาม ฉันเชื่อว่านี่จะให้ฉันเรียกดูข้อมูลรุ่นเก่าของฉัน นี่จะเป็นการเพิ่มเติมจากการสำรองข้อมูลไซต์ปัจจุบันของฉันเนื่องจากความล้มเหลวของไดรฟ์จะล้างข้อมูลและสแน็ปช็อต จากความเข้าใจของฉันสแน็ปช็อต btrfs ไม่ใช้พื้นที่มาก (ข้อมูลเมตาและบล็อกที่มีการเปลี่ยนแปลงรวมถึงค่าโสหุ้ยบางอย่าง) ดังนั้นพื้นที่ดูเหมือนจะไม่เป็นข้อ จำกัด หากฉันมีล้านสแนปชอต (เช่นสแน็ปช็อตทุกนาทีเป็นเวลาสองปี) จะทำให้เกิดความเสียหายสมมติว่าฉันมีพื้นที่ดิสก์เพียงพอสำหรับข้อมูลข้อมูลที่เปลี่ยนแปลงและข้อมูลเมตาหรือไม่ หากมีข้อ จำกัด ในทางปฏิบัติเกี่ยวกับจำนวนสแนปชอตมันจะขึ้นอยู่กับจำนวนไฟล์และ / หรือขนาดของไฟล์หรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.