OS X पर खुली फ़ाइल सीमा को कौन सी कमांड / कॉन्फ़िगरेशन फ़ाइल नियंत्रित करती है? क्या OS X 10.5 / 10.6 / 10.7 के लिए एक अलग कमांड है? नीचे मैंने जो विकल्प तलाशे हैं ulimit
, वे हैं sysctl
, औरlaunchctl
"बहुत अधिक खुली फाइलें" जाहिरा तौर पर तेंदुए पर एक सामान्य त्रुटि है, शायद ओएस एक्स के अन्य संस्करण:
खुली फ़ाइल सीमाएँ देखने के कई (संबंधित) तरीके हैं:
$ 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 पर अधिकतम फ़ाइलों / अधिकतम खुली फ़ाइलों की सीमाओं को कैसे समायोजित कर सकता हूं ?