আমার কাছে একটি ফ্রিবিএসডি 8 সিস্টেম চালু রয়েছে জেডএফএস, একটি মাইএসকিউএল 5.5 সার্ভার যা প্রায় 355 জিবি এবং টেরাবাইটের একজোড়া হওয়ার সম্ভাবনা রয়েছে।
মাইএসকিউএল "প্রচুর ওপেন ফাইল" সম্পর্কে ত্রুটিগুলি ট্রিগার করছে /etc/hosts.allow
। আমরা স্পষ্টভাবে ব্যবহার করি না /etc/hosts.allow
, তবে এটি হোস্ট_অ্যাক্সেস (3) ( libwrap.a
) ব্যবহার করে, যা অনেক কিছুই ব্যবহার করে।
mysqld[1234]: warning: /etc/hosts.allow, line 15: cannot open /etc/hosts.allow: Too many open files
তবে আমি যখন যাচাই করি না মনে হয় কোনও আসল সীমা ছুঁড়েছে। kern.openfiles stays
একটি টেকসই সময়কালে 40,000 এর নিচে উল্লিখিত ফাইলগুলির সংখ্যা এবং আমাদের সীমা যথেষ্ট পরিমাণে বেশি:
# sysctl -a |grep files
kern.maxfiles: 204800
kern.maxfilesperproc: 184320
kern.openfiles: 38191
# ulimit -n
184320
ওপেন ফাইলগুলি সীমাহীনতে সেট করা উচিত:
# grep openfiles /etc/login.conf
:openfiles=unlimited:\
মাইএসকিউএল বলছে এটি 184320 ফাইল হ্যান্ডলগুলি খুলতে সক্ষম হওয়া উচিত:
# mysqladmin variables | grep open_files_limit
| open_files_limit | 184320 |
এবং মাইএসকিউএল ব্যবহারকারীর দৃষ্টিকোণ থেকে কিছু তথ্য। আমি মাইএসকিএল বন্ধ করে দিয়েছি এবং /usr/local/etc/rc.d/mysql-server
এই ভেরিয়েবলগুলি মুদ্রণ করতে হ্যাক করেছি , সুতরাং এটি মাইএসকিউএল পরিবেশের প্রতিনিধিত্ব করবে। নোট করুন যে 184320 সংখ্যাটি উপরের সাথে সামঞ্জস্যপূর্ণ।
# /usr/local/etc/rc.d/mysql-server.stefantest start
Starting mysql.
cpu time (seconds, -t) unlimited
file size (512-blocks, -f) unlimited
data seg size (kbytes, -d) 33554432
stack size (kbytes, -s) 524288
core file size (512-blocks, -c) unlimited
max memory size (kbytes, -m) unlimited
locked memory (kbytes, -l) unlimited
max user processes (-u) 5547
open files (-n) 184320
virtual mem size (kbytes, -v) unlimited
swap limit (kbytes, -w) unlimited
sbsize (bytes, -b) unlimited
pseudo-terminals (-p) unlimited
এবং, সহজ রেফারেন্সের জন্য এখানে সিস্টোলের জন্য বর্ণনা রয়েছে:
kern.maxfiles: Maximum number of files
kern.openfiles: System-wide number of open files
kern.maxfilesperproc: Maximum files allowed open per process
সম্পর্কিত
- এটি সার্ভারফল্টে নেক্সেন্টা প্রশ্নের একটি জেডএফএসের সাথে সম্পর্কিত: মাইএসকিউএল হোস্ট.ইনল / হোস্ট.সেইডি খুলতে অক্ষম কেন?
- এই একই সমস্যাটি ফ্রিবিএসডি ফোরামে দেখুন: [ইএমফাইল] অনেক বেশি খোলা ফাইল
ulimit
স্টার্টআপ স্ক্রিপ্ট বা শেল পরিবেশে সেট করতে পারি , তবে এর জন্য আমার ডাটাবেসটি বাধাগ্রস্থ করতে হবে।
cat limits
দেখতে পাচ্ছেন যে মাইএসকিএল নিয়ে চলছে। আপনি echo -n "Max open files=soft_value:hard_value" > /proc/$PID/limits
/proc
ফ্রিবিএসডি-তে ডিফল্টরূপে মাউন্ট করা হয়নি, তবে এটি নিজেই করুন sudo mount -t procfs proc /proc
, procfs(5)
আরও তথ্যের জন্য দেখুন। একবার /proc
মাউন্ট হয়ে গেলে /proc/$PID/rlimit
ফাইলটি দেখুন