linux যবহ কিভাবে লিনাক্সে খোলা ফাইল সীমা সংখ্যা পরিবর্তন করব?




লিনাক্সের সুবিধা (4)

1) নিম্নলিখিত লাইন /etc/security/limits.conf

webuser hard nofile 64000

তারপর webuser হিসাবে লগইন করুন

su - webuser

2) Webuser জন্য নিম্নলিখিত দুটি ফাইল সম্পাদনা করুন

রান করে .bashrc এবং .bash_profile ফাইল যোগ করুন

echo "ulimit -n 64000" >> .bashrc ; echo "ulimit -n 64000" >> .bash_profile

3) লগ আউট করুন, তারপরে লগ ইন করুন এবং যাচাই করুন যে পরিবর্তনগুলি সঠিকভাবে তৈরি করা হয়েছে:

$ ulimit -a | grep open
open files                      (-n) 64000

এটি thats এবং তাদের গম্ভীর গর্জন, বুম গম্ভীর গর্জন।

আমার অ্যাপ্লিকেশন চলাকালীন আমি too many files open সম্পর্কে কখনও কখনও একটি ত্রুটি পেতে।

চলমান ulimit -a রিপোর্ট করে যে সীমা 1024। আমি 1024 এর উপরে সীমা কিভাবে বৃদ্ধি করব?

ulimit -n 2048 সম্পাদনা একটি অনুমতি ত্রুটি ফলাফল।


আপনি সবসময় একটি ulimit -n 2048 চেষ্টা করার চেষ্টা করতে পারে। এটি কেবল আপনার বর্তমান শেলের সীমাটি পুনরায় সেট করবে এবং আপনার উল্লেখ করা নম্বরটি হার্ড সীমা অতিক্রম করবে না

প্রতিটি অপারেটিং সিস্টেমের একটি কনফিগারেশন ফাইলের মধ্যে একটি ভিন্ন হার্ড সীমা সেটআপ আছে। উদাহরণস্বরূপ, Solaris- এ হার্ড ওপেন ফাইল সীমাটি / etc / সিস্টেম থেকে বুট করা যেতে পারে।

set rlim_fd_max = 166384
set rlim_fd_cur = 8192

ওএস এক্স এ, একই তথ্য /etc/sysctl.conf এ সেট করা আবশ্যক।

kern.maxfilesperproc=166384
kern.maxfiles=8192

লিনাক্সের অধীনে, এই সেটিংস প্রায়শই /etc/security/limits.conf তে থাকে।

দুটি ধরণের সীমা আছে:

  • নরম সীমা সহজভাবে বর্তমানে প্রয়োগ সীমা হয়
  • হার্ড সীমাগুলি সর্বাধিক মান চিহ্নিত করে যা নরম সীমা সেট করে অতিক্রম করা যায় না

নরম সীমা কোনও ব্যবহারকারী দ্বারা সেট করা যেতে পারে যখন হার্ড সীমা শুধুমাত্র রুট দ্বারা পরিবর্তনযোগ্য হয়। সীমা একটি প্রক্রিয়া একটি সম্পত্তি। যখন শিশু প্রক্রিয়া তৈরি হয় তখন তারা উত্তরাধিকারসূত্রে প্রাপ্ত হয় তাই সিস্টেম-প্রশস্ত সীমাগুলি init স্ক্রিপ্টগুলিতে সিস্টেমের প্রাথমিককরণের সময় সেট করা উচিত এবং ব্যবহারকারীর সীমা ব্যবহারকারী প্যাগিমাইম ব্যবহার করে সেট করা উচিত উদাহরণস্বরূপ pam_limits ব্যবহার করে।

মেশিন বুট করার সময় ডিফল্ট সেট প্রায়ই আছে। সুতরাং, যদিও আপনি একটি আলাদা শেলে আপনার উলিমিট রিসেট করতে পারেন, তবে আপনি এটি পুনরায় বুট করার পূর্ববর্তী মানতে পুনরায় ফিরে পেতে পারেন। আপনি যদি ডিফল্ট পরিবর্তন করতে চান তবে আলিমিট কমান্ডের জন্য আপনার বুট স্ক্রিপ্টগুলি grep করতে চাইতে পারেন।


আপনার কিছু পরিষেবাদি যদি আলিমিটগুলিতে ঘুরে বেড়ায় তবে পরিষেবাটির ইনিট-স্ক্রিপ্টে উপযুক্ত কমান্ডগুলি সরানো সহজ। উদাহরণস্বরূপ, যখন অ্যাপাচি রিপোর্ট করছে

[সতর্কতা] (11) সংস্থান সাময়িকভাবে অনুপলব্ধ: apr_thread_create: কর্মী থ্রেড তৈরি করতে অক্ষম

ulimit -s unlimited /etc/init.d/httpd মধ্যে স্থাপন করার চেষ্টা করুন। এটি একটি সার্ভার রিবুট করার প্রয়োজন হয় না।


যদি আপনি লিনাক্স ব্যবহার করছেন এবং আপনি অনুমতি ত্রুটি পেয়েছেন তবে আপনাকে /etc/limits.conf অথবা /etc/security/limits.conf ফাইলে অনুমোদিত সীমা বাড়াতে হবে (যেখানে ফাইলটি অবস্থিত আপনার নির্দিষ্ট Linux বিতরণে নির্ভর করে )।

উদাহরণস্বরূপ মেশিনে যে কেউ তাদের খোলা ফাইলগুলির সংখ্যা বাড়াতে 10000 পর্যন্ত limits.conf . limits.conf ফাইলের লাইন যোগ করতে দেয়।

* hard nofile 10000

তারপর লগআউট করুন এবং আপনার সিস্টেমে রিলিজ করুন এবং আপনাকে করতে সক্ষম হওয়া উচিত:

ulimit -n 10000

অনুমতি ছাড়া একটি ত্রুটি।





linux