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

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


2
วิธีแก้ปัญหาความจำนี้อย่างสง่างาม?
ฉันมีแล็ปท็อปมาตรฐาน Linux (ทดสอบเดเบียน) ที่มีพาร์ทิชันสลับ ฉันทำการทดลองกับมันมากมาย บางส่วนของพวกเขากำลังหิวมากหน่วยความจำและวิธีการทำงานของ Linux โดยค่าเริ่มต้นเป็นปัญหาสำหรับฉัน ... ขอยกตัวอย่างโง่ ๆ : นั่งหน้าแล็ปท็อป เปิดเทอร์มินัล พิมพ์pythonจากนั้นa = [0]*100000000 ตอนนี้มีโอกาสสูงที่คุณจะมี RAM ไม่เพียงพอที่จะจัดการกับรายการใหญ่ Linux จะเติม RAM แล้วสลับและอีกสองสามนาทีต่อมา OOM killer จะถูกทริกเกอร์และฆ่าบริการแบบสุ่ม (เกือบ) และหวังว่าถ้าคุณกด Ctrl + C ในเวลาที่เหมาะสมpythonและถ้าเทอร์มินัล ยังคงมีสมาธิคอมพิวเตอร์จะตอบสนองอีกครั้ง ฉันต้องการบังคับใช้ขีด จำกัด หน่วยความจำบางส่วนเพื่อหลีกเลี่ยงการสลับที่ไม่พึงประสงค์และปฏิเสธสิทธิ์ในการจัดสรรหน่วยความจำมากกว่าที่ฉันมี (ใน RAM) หากความต้องการหน่วยความจำต่ำกว่าขีด จำกัด หรือรูตที่ถามแล้วให้ฆ่ากระบวนการหิวหน่วยความจำส่วนใหญ่ของผู้ใช้ใด ๆ ยกเว้นรูท ulimit -Sv [mem] ฉันได้ยินที่ด้านหลัง! โฮ้โฮ! "ใช้งานcgroupsผ่านcgexec!" …
10 memory  limit  cgroups  ulimit 

5
จำนวนไฟล์ที่เปิดสูงสุดที่อนุญาตสูงสุดใน Linux
มีข้อ จำกัด ทางเทคนิคหรือทางปฏิบัติหรือไม่ในการที่คุณสามารถกำหนดค่าจำนวนไฟล์สูงสุดที่เปิดใน Linux ได้หรือไม่? มีผลข้างเคียงบ้างไหมถ้าคุณตั้งค่าเป็นจำนวนมาก (พูด 1-100M)? ฉันคิดว่าการใช้เซิร์ฟเวอร์ที่นี่ไม่ใช่ระบบฝังตัว แน่นอนว่าโปรแกรมที่ใช้ไฟล์เปิดจำนวนมากสามารถกินหน่วยความจำและช้า แต่ฉันสนใจผลข้างเคียงหากมีการกำหนดขีด จำกัด ที่ใหญ่กว่าที่จำเป็น (เช่นหน่วยความจำที่ใช้โดยการกำหนดค่า)

1
คุณเพิ่ม MAXSYMLINKS อย่างไร
ในสคริปต์ไพ ธ อนฉันกำลังสร้างลิงก์สัญลักษณ์มากมายที่ถูกล่ามโซ่ไว้ด้วยกัน ตัวอย่าง: link1-> link2-> link3 -> .......-> somefile.txt ฉันสงสัยว่าคุณสามารถเปลี่ยนจำนวนสูงสุดของ symlink ให้มากกว่า 20 ได้อย่างไร
10 linux  symlink  limit 

1
กระบวนการในกลุ่ม cg ต้องถูกตั้งค่าทุกการบู๊ตหรือไม่? ถ้าเป็นเช่นนั้นจะคงอยู่ได้อย่างไร
ฉันอ่านคำตอบสำหรับคำถามเกี่ยวกับการตั้งค่าขีด จำกัด สำหรับกระบวนการโดยใช้กลุ่ม cg ตัวอย่างที่กำหนดชุดข้อ จำกัด สำหรับกระบวนการ (ในตัวอย่างsshd) ในคำตอบ PID ของกระบวนการจะถูกตั้งค่าด้วยตนเอง สิ่งนี้จะยอมรับไม่ได้สำหรับวัตถุประสงค์ของฉันฉันต้องการให้กระบวนการเริ่มต้นจากแอปพลิเคชันที่กำหนดเพื่อให้มีการตั้งค่าขีด จำกัด เสมอไม่ว่าเมื่อใดที่พวกเขาเริ่มหรือ จำกัด ด้วยจำนวนกระบวนการเริ่มต้น บางทีมันอาจไม่ชัดเจนจากตัวอย่างว่าเกิดขึ้นได้อย่างไรดังนั้นคำอธิบายที่ชัดเจนหรือลิงก์ไปยังอันใดอันหนึ่งก็ยินดีด้วยเช่นกัน ตัวอย่างใน cgroups.txt เคอร์เนลที่ดูเหมือนว่าจะใช้รูปแบบเดียวกับที่กำหนดแล้วข้างต้น


2
วิธีบัญญัติมาตรฐานเพื่อค้นหาความยาวรายการอาร์กิวเมนต์สูงสุดจริงคืออะไร
ต่อไปนี้ARG_MAX, ความยาวสูงสุดของข้อโต้แย้งกระบวนการใหม่ดูเหมือนว่าARG_MAXเป็นผิด (หรืออย่างน้อยมีเลศนัย) กำหนดไว้ใน Mac Mini 3,1 ใช้ Ubuntu 12.04 ฉัน: $ getconf ARG_MAX # arguments 2097152 $ locate limits.h | xargs grep -ho 'ARG_MAX[ \t]\+[0-9]\+' | uniq | cut -d ' ' -f 8 131072 ขีด จำกัด ที่แท้จริงดูเหมือนจะอยู่ระหว่าง: $ cd "$(mktemp -d)" $ touch $(seq 1 131072) && find …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.