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

ทุกอย่างเกี่ยวกับขีด จำกัด ทรัพยากรที่สามารถตั้งค่าได้ด้วยคำสั่ง ulimit

7
จำกัด การใช้หน่วยความจำสำหรับกระบวนการ Linux เดียว
ฉันกำลังpdftoppmแปลงไฟล์ PDF ที่ผู้ใช้ให้เป็นภาพ 300DPI วิธีนี้ใช้งานได้ดียกเว้นในกรณีที่ผู้ใช้มีขนาดหน้ากระดาษที่ใหญ่มาก pdftoppmจะจัดสรรหน่วยความจำให้เพียงพอที่จะเก็บภาพขนาด 300DPI ในหน่วยความจำซึ่งสำหรับหน้าสี่เหลี่ยม 100 นิ้วคือ 100 * 300 * 100 * 300 * 4 ไบต์ต่อพิกเซล = 3.5GB ผู้ใช้ที่เป็นอันตรายสามารถให้ PDF ที่มีขนาดใหญ่และทำให้เกิดปัญหาได้ทุกประเภท ดังนั้นสิ่งที่ฉันต้องทำคือการ จำกัด การใช้หน่วยความจำอย่างหนักสำหรับกระบวนการลูกที่ฉันจะเรียกใช้ - เพียงแค่มีกระบวนการตายหากพยายามจัดสรรหน่วยความจำมากกว่า 500MB เป็นไปได้ไหม ฉันไม่คิดว่า ulimit สามารถใช้สำหรับสิ่งนี้ แต่มีกระบวนการที่เทียบเท่าหรือไม่
152 linux  memory  ulimit 

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 

2
ulimit: ความแตกต่างระหว่างขีด จำกัด แบบแข็งและแบบอ่อน
อะไรคือความแตกต่างระหว่างขีด จำกัด ที่แข็งและอ่อนใน ulimit? สำหรับจำนวนไฟล์ที่เปิดฉันมีขีด จำกัด ซอฟต์ 1024 และขีด จำกัด ฮาร์ด 10240 มันเป็นไปได้ที่จะรันโปรแกรมที่เปิดมากกว่า 1024 ไฟล์ ขีด จำกัด ซอฟต์คืออะไร?

4
วิธีควบคุมปริมาณการใช้ทรัพยากรระบบสูงสุดอย่างต่อเนื่องบน Mac
ก่อน Mavericks ฉันสามารถใช้/etc/launchd.confไฟล์เพื่อเปลี่ยนการใช้ทรัพยากรระบบได้สูงสุดตัวอย่างเช่น limit maxfiles 16384 unlimited limit maxproc 16384 unlimited มันไม่ทำงานใน Mavericks อีกต่อไป วิธีที่ถูกต้องในการทำ OS X เวอร์ชั่นล่าสุดคืออะไร?
85 osx  ulimit  sysctl 

3
เหตุใดฉันจึงไม่สามารถชนระบบของฉันด้วยการวางระเบิดได้
เมื่อเร็ว ๆ นี้ฉันได้ขุดข้อมูลเกี่ยวกับกระบวนการใน GNU / Linux และฉันได้พบกับระเบิดที่น่าอับอาย: :(){ : | :& }; : ในทางทฤษฎีมันควรจะทำซ้ำตัวเองอย่างไม่มีที่สิ้นสุดจนกว่าระบบจะหมดทรัพยากร ... อย่างไรก็ตามฉันได้ลองทดสอบทั้งในCLI DebianและGUI Mint distro และดูเหมือนว่าจะไม่ส่งผลกระทบต่อระบบมากนัก ใช่มีกระบวนการมากมายที่ถูกสร้างขึ้นและหลังจากนั้นไม่นานฉันก็อ่านในข้อความคอนโซลเช่น: bash: fork: ทรัพยากรไม่สามารถใช้งานได้ชั่วคราว bash: fork: ลองอีกครั้ง: ไม่มีกระบวนการลูก แต่หลังจากเวลาผ่านไปกระบวนการทั้งหมดเพิ่งถูกฆ่าและทุกอย่างกลับสู่ปกติ ฉันได้อ่านว่าulimitตั้งค่าจำนวนสูงสุดของกระบวนการต่อผู้ใช้ แต่ฉันไม่สามารถยกมันได้ไกลนัก ระบบป้องกันการระเบิดจากส้อมคืออะไร? ทำไมมันไม่ทำซ้ำตัวเองจนกว่าทุกอย่างจะหยุดหรืออย่างน้อยก็ล่าช้ามาก? มีวิธีที่จะทำให้ระบบพังด้วยส้อมระเบิดหรือไม่?
54 linux  process  fork  ulimit 

2
จำกัด จำนวนของตัวให้คำอธิบายไฟล์
ฉันกำลังพยายามติดตั้ง389-dsและมันทำให้ฉันได้รับคำเตือนนี้: WARNING: There are only 1024 file descriptors (hard limit) available, which limit the number of simultaneous connections. ฉันเข้าใจเกี่ยวกับตัวอธิบายไฟล์ แต่ฉันไม่เข้าใจเกี่ยวกับข้อ จำกัด ที่อ่อนและแข็ง เมื่อผมทำงานผมได้รับกลับมาcat /proc/sys/fs/file-max 590432นี่แปลว่าฉันสามารถเปิดไฟล์ได้สูงสุด 590432 ไฟล์ (เช่นมีตัวอธิบายไฟล์สูงสุด 590432 แต่เมื่อฉันวิ่งulimitมันให้ผลลัพธ์ที่แตกต่าง: $ ulimit unlimited $ ulimit -Hn # Hard limit 4096 $ ulimit -Sn # Soft limit 1024 แต่อะไรคือข้อ จำกัด ฮาร์ด …

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

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

1
วิธีการตั้งค่า ulimits บริการด้วย systemd?
คุณจะตั้ง ulimit บนหน่วยบริการ systemd ได้อย่างไร? คำถาม stackoverflowนี้อธิบายว่า systemd จะละเว้น ulimits ของระบบ ไวยากรณ์จะมีลักษณะอย่างไรในการตั้งค่า ulimits ต่อไปนี้ ulimit -c ulimit -v ulimit -m [Unit] Description=Apache Solr After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking SOLR_INSTALL_DIR=/opt/solr SOLR_ENV=/etc/default/solr.in.sh RUNAS=solr SOLR_PID_DIR="/var/solr" SOLR_HOME="/opt/solr/server/solr" LOG4J_PROPS="/var/solr/log4j.properties" SOLR_LOGS_DIR="/opt/solr/server/logs" SOLR_PORT="8389" PIDFile=/var/solr/solr-8389.pid ExecStart=/opt/solr/bin/solr start ExecStatus=/opt/solr/bin/solr status ExecStop=/opt/solr/bin/solr stop Restart=on-failure User=solr SuccessExitStatus=143 0 [Install] WantedBy=multi-user.target
29 systemd  ulimit 

3
วิธีตรวจสอบการใช้ ulimit
มีวิธีการตรวจสอบการใช้ ulimits สำหรับผู้ใช้ที่กำหนดหรือไม่? ฉันรู้ว่าคุณสามารถเปลี่ยน ulimits สำหรับกระบวนการเดียวเมื่อคุณเริ่มต้นขึ้นหรือสำหรับเชลล์เดี่ยวเมื่อทำงาน แต่ฉันต้องการที่จะสามารถ "ตรวจสอบ" ว่าผู้ใช้ปิดการ จำกัด ขีด จำกัด ของพวกเขาได้อย่างไร ฉันกำลังวางแผนในการเขียนbashสคริปต์ที่จะรายงานกลับไปที่ statsd เปอร์เซ็นต์การใช้งานปัจจุบัน โดยเฉพาะฉันต้องการติดตาม: เปิดไฟล์ ( ulimit -n) กระบวนการของผู้ใช้สูงสุด ( ulimit -u) สัญญาณที่รอดำเนินการ ( ulimit -i) สิ่งที่ฉันต้องการคือเปอร์เซ็นต์ของการใช้งาน (0-100)
29 linux  bash  ulimit 

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


2
วิธีการป้องกันส้อมระเบิด?
เพื่อป้องกันการวางระเบิดฉันได้ติดตามhttp://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htmนี้ ulimit -aสะท้อนถึงการตั้งค่าใหม่ แต่เมื่อฉันเรียกใช้ ( rootในbash) :(){ :|:&};:VM ยังคงดำเนินต่อไปบน CPU + RAM สูงสุดและระบบจะหยุดทำงาน จะมั่นใจได้อย่างไรว่าผู้ใช้จะไม่ถูกทำลายโดยการใช้ fork bombs หรือเรียกใช้แอพพลิเคชั่น buggy? ระบบปฏิบัติการ: RHEL 6.4

1
แก้ไข ulimit: เปิดไฟล์: ไม่สามารถแก้ไขข้อ จำกัด : ไม่อนุญาตให้ใช้งาน
ฉันทดสอบสิ่งนี้ในการติดตั้ง GNU / Linux อื่น: perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}' ระบบ A และ D ขีด จำกัด แรกที่ฉันตีคือ 1024 มันสามารถยกได้ง่ายโดยใส่สิ่งนี้ลงใน /etc/security/limits.conf: * hard nofile 1048576 จากนั้นเรียกใช้: ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max ตอนนี้การทดสอบไปที่ 1048576 อย่างไรก็ตามดูเหมือนว่าฉันไม่สามารถยกระดับได้เหนือ 1048576 ถ้าฉันใส่ 1048577 ใน limit.conf มันก็จะถูกละเว้น อะไรทำให้เกิดสิ่งนั้น ระบบ …

5
ไม่สามารถ ssh การเชื่อมต่อจะยุติลงทันทีด้วยสถานะออก 254
สิ่งล่าสุดที่ฉันจำได้คือเปลี่ยน ulimit memlock ที่นิ่มและแข็งเป็นไม่ จำกัด ตอนนี้ฉันไม่สามารถ ssh เข้าไปในเครื่องได้ นี่คือบันทึก ssh Authenticated to IP ([IP]:22). debug1: channel 0: new [client-session] debug2: channel 0: send open debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug2: callback start debug2: fd 3 setting TCP_NODELAY debug2: client_session2_setup: id 0 debug2: channel 0: request pty-req confirm 1 …
12 shell  ssh  ulimit 

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