การ จำกัด เซสชันของเชลล์
ขีด จำกัด ที่ตั้งค่าผ่านulimit
จะมีผลกับกระบวนการที่สร้างขึ้นโดยเชลล์เซสชันปัจจุบันเท่านั้น
- "soft limit" เป็นขีด จำกัด จริงที่ใช้ สามารถตั้งค่าได้ตราบใดที่มันไม่เกิน "ขีด จำกัด ฮาร์ด"
- สามารถตั้งค่า "ขีด จำกัด ฮาร์ด" ได้ แต่จะมีค่าน้อยกว่าค่าปัจจุบันและตั้งค่าไม่น้อยกว่า "ขีด จำกัด เบา"
- "hard limit" รวมถึงขีด จำกัด ทั้งระบบอาจถูกเลี้ยงดูโดย
root
(ผู้ดูแลระบบ) โดยการรันคำสั่งการกำหนดค่าระบบหรือแก้ไขไฟล์การกำหนดค่าระบบ
หลังจากที่คุณบอกเลิกเซสชั่นเปลือก (โดยCtrl+ D, exit
หรือปิดTerminal.app
หน้าต่าง ฯลฯ ), การตั้งค่าจะหายไป หากคุณต้องการการตั้งค่าเดียวกันในเชลล์เซสชันถัดไปให้เพิ่มการตั้งค่าในสคริปต์เริ่มต้นเชลล์
หมายเหตุ:หากคุณกำลังใช้bash
แล้วมันควรจะเป็นหรือ~/.bash_proile
~/.bash_login
หากคุณกำลังใช้เปลือกหอยอื่น ๆ ~/.profile
ก็อาจจะ
ขีด จำกัด ของระบบ (ต้องรีบูตเพื่อให้มีผลบังคับใช้)
สำหรับ 10.9 (Mavericks), 10.10 (Yosemite), 10.11 (El Capitan) และ 10.12 (Sierra):
คุณต้องสร้างไฟล์ที่/Library/LaunchDaemons/limit.maxfiles.plist
(เจ้าของ: root:wheel
, โหมด:) 0644
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>262144</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
คุณควรเปลี่ยนตัวเลขตามความต้องการของคุณ พวกเขาคือ "ขีด จำกัด อ่อน" ( 262144
) และเป็น "จำกัด ยาก" ( 524288
) ตามลำดับ man launchd.plist
สำหรับข้อมูลเพิ่มเติมโปรดดูหน้าคู่มือโดยการเรียกใช้
สำหรับ 10.8 (Mountain Lion):
คุณสามารถเพิ่มบรรทัดต่อไปนี้ใน/etc/sysctl.conf
(เจ้าของ: root:wheel
, โหมด:) 0644
:
kern.maxfiles=524288
kern.maxfilesperproc=262144
คุณควรเปลี่ยนตัวเลขตามความต้องการของคุณ พวกเขาคือ "ขีด จำกัด ทั้งระบบ" ( kern.maxfiles
) และ "ขีด จำกัด ต่อกระบวนการ" ( kern.maxfilesperproc
) ตามลำดับ สำหรับการตั้งค่าเพิ่มเติมโปรดดูหน้าคู่มือโดยการทำงานหรืออ่านรหัสแหล่งที่มาman sysctl
/usr/include/sys/sysctl.h
สำหรับ Mac OS X รุ่นเก่า (ฉันเดาว่ามันใช้งานได้กับ 10.7 (Lion) หรือก่อนหน้า):
คุณสามารถเพิ่มบรรทัดต่อไปนี้ใน/etc/launchd.conf
(เจ้าของ: root:wheel
, โหมด:) 0644
:
limit maxfiles 262144 524288
คุณควรเปลี่ยนตัวเลขตามความต้องการของคุณ พวกเขาคือ "ขีด จำกัด อ่อน" ( 262144
) และเป็น "จำกัด ยาก" ( 524288
) ตามลำดับ
หากระบบไม่อนุญาตให้คุณตั้งค่าขีด จำกัด เหนือค่าที่แน่นอน ...
ระบบไม่อนุญาตให้คุณตั้งค่าที่สูงกว่า "สูงสุดสูงสุด" (เสนอโดย Apple) ในการเพิ่ม "ฮาร์ดสูงสุด" นี้คุณต้องซื้อ "OS X Server" จาก "App Store" จากนั้นคุณต้องดำเนินการคำสั่งต่อไปนี้หนึ่งครั้ง:
sudo serverinfo --setperfmode true
สิ่งนี้จะเปิดใช้งาน "โหมดประสิทธิภาพเซิร์ฟเวอร์" บนเครื่องของคุณ จากนั้นคุณสามารถตั้งค่าสูงสุดตามการกำหนดค่าของเครื่องของคุณ(เห็นนี้) ฉันเคยลองมาก่อน (บนภูเขาและแมฟเวอริกส์) และใช้งานได้! โปรดดูโพสต์ของฉัน ( ที่นี่ ) สำหรับข้อมูลเพิ่มเติม
อ้างอิง