Який командно-конфігураційний файл контролює обмеження відкритого файлу в 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?