ไฟล์คำสั่ง / การกำหนดค่าใดควบคุมการเปิดไฟล์ จำกัด บน OS X มีคำสั่งต่าง ๆ สำหรับ OS X 10.5 / 10.6 / 10.7 หรือไม่ ตัวเลือกที่ผมสำรวจด้านล่างนี้มีulimit, sysctlและlaunchctl
"เห็นได้ชัดว่ามีไฟล์เปิดมากเกินไป" เป็นข้อผิดพลาดทั่วไปของ Leopard บางทีอาจเป็น OS X รุ่นอื่น:
มีหลายวิธี (ที่เกี่ยวข้อง?) เพื่อดูข้อ จำกัด ของไฟล์ที่เปิดอยู่:
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 2048
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 512
virtual memory          (kbytes, -v) unlimited
$ launchctl limit
cpu         unlimited      unlimited      
filesize    unlimited      unlimited      
data        unlimited      unlimited      
stack       8388608        67104768       
core        0              unlimited      
rss         unlimited      unlimited      
memlock     unlimited      unlimited      
maxproc     1024           2048           
maxfiles    2048           4096       
$ sysctl -a | grep files
kern.maxfiles = 32768
kern.maxfilesperproc = 16384
kern.maxfiles: 32768
kern.maxfilesperproc: 16384
kern.num_files: 2049
มีการอ้างสิทธิ์ในโพสต์ด้านบนบางรายการที่สามารถแก้ไขได้ด้วยคำสั่งต่อไปนี้:
sudo launchctl limit maxfiles 16384 32768
sudo ulimit -n 32768
sudo sysctl -w kern.maxfilesperproc=16384
sudo sysctl -w kern.maxfiles=32768
อย่างไรก็ตามจากคำสั่งข้างต้นเฉพาะคำสั่งเท่านั้นที่sysctlมีผลกระทบที่ชัดเจน (เช่นulimit -nและlaunchctl limitไม่แสดงการเปลี่ยนแปลงหลังจากป้อนคำสั่งข้างต้นแล้วในขณะที่sysctl -aแสดงการเปลี่ยนแปลงที่ร้องขอ)
ตำแหน่งที่สอดคล้องกันเพื่อเปลี่ยนพารามิเตอร์เหล่านี้สำหรับระบบปฏิบัติการ ได้แก่ :
/etc/sysctl.conf
/etc/launchd.conf
ฉันยังค้นพบคำตอบเดียวที่อ่านว่าulimitควบคุมเชลล์ปัจจุบันเท่านั้น
ฉันจะปรับขีด จำกัดสูงสุดของไฟล์สูงสุด / ไฟล์สูงสุดที่เปิดได้บน macOS ได้อย่างไร