Tập tin lệnh / cấu hình nào kiểm soát giới hạn tệp mở trên OS X? Có một lệnh khác cho OS X 10.5 / 10.6 / 10.7 không? Các tùy chọn tôi khám phá dưới đây là ulimit, sysctlvàlaunchctl
"Quá nhiều tệp đang mở" rõ ràng là một lỗi phổ biến trên Leopard, có lẽ các phiên bản khác của OS X:
Có nhiều cách (liên quan?) Để xem giới hạn tệp đang mở:
$ 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
Nó đã được tuyên bố trong một số bài viết ở trên rằng chúng có thể được sửa đổi bằng các lệnh sau:
sudo launchctl limit maxfiles 16384 32768
sudo ulimit -n 32768
sudo sysctl -w kern.maxfilesperproc=16384
sudo sysctl -w kern.maxfiles=32768
Tuy nhiên, trong số các lệnh trên, chỉ sysctllệnh có bất kỳ tác dụng rõ ràng (ví dụ ulimit -nvà launchctl limitcho thấy không có sự thay đổi sau khi lệnh trên đã được nhập vào, trong khi sysctl -akhông hiển thị những thay đổi yêu cầu).
Các vị trí tương ứng để thay đổi các tham số này cho HĐH là:
/etc/sysctl.conf
/etc/launchd.conf
Tôi cũng phát hiện ra một câu trả lời chỉ đọc ulimitphần vỏ hiện tại.
Làm thế nào tôi có thể điều chỉnh lên các file tối đa / tối đa mở file giới hạn về hệ điều hành MacOS?