কোন কমান্ড / কনফিগারেশন ফাইল ওএস এক্সের ওপেন ফাইল সীমা নিয়ন্ত্রণ করে? ওএস এক্স 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
কেবলমাত্র বর্তমান শেলকে নিয়ন্ত্রণ করে reads
আমি কীভাবে ম্যাকোজে সর্বাধিক ফাইল / সর্বাধিক খোলার ফাইল সীমা উপরের দিকে সামঞ্জস্য করতে পারি ?