লগইন শেলের ulimit -n বিশ্বাস করার আগে চলমান ডেমনটি পরীক্ষা করুন। squid.service ব্যবহার করা ইনস্টলেশনের জন্য শুরু করুন:

systemctl show squid.service -p MainPID -p LimitNOFILE
systemctl cat squid.service

প্রকৃত প্রক্রিয়া আইডি ব্যবহার করে /proc/PID/limits পড়ুন। বহু-প্রক্রিয়া স্থাপনায় সংশ্লিষ্ট ওয়ার্কারও দেখুন। কনফিগারেশনে সংরক্ষিত মান এই প্রক্রিয়া এটি উত্তরাধিকার পেয়েছে তার প্রমাণ নয়।

নিয়ন্ত্রণপরিসর
শেল ulimit এবং PAM limits.confশেলের উত্তরসূরি বা যে সেশনগুলি প্রকৃতপক্ষে PAM সেটিং ব্যবহার করে
systemd LimitNOFILE=সেই পরিষেবার রিসোর্স নীতির অধীনে চালু হওয়া প্রক্রিয়া
Squid max_filedescriptors, যেখানে সমর্থিতঅপারেটিং সিস্টেমের সীমার মধ্যে অ্যাপ্লিকেশন সীমা

প্রশাসক ফাইলটি পরিবর্তন করেছেন বলে সিস্টেম পরিষেবা PAM সম্পাদনা গ্রহণ করে না। systemd সীমা পরিবর্তন উপযুক্ত হলে পরিষেবা-নির্দিষ্ট drop-in ব্যবহার করুন। Squid নথিভুক্ত করে যে max_filedescriptors পরিবর্তন করতে পুনরায় চালু করা প্রয়োজন; সেট না করলে OS-এর নরম সীমা উত্তরাধিকার হয়।

সীমাটি ব্যবহারকারীর জন্য নয়, ডেসক্রিপ্টরের জন্য মাপুন। ক্লায়েন্টরা একাধিক সকেট ধরে রাখতে পারে, এবং সামনের সংযোগ, লগ ও সহায়ক পাইপও ডেসক্রিপ্টর খরচ করে। সীমা বাড়ালে প্রতিটি সম্ভাব্য ডেসক্রিপ্টরের জন্য নির্দিষ্ট RAM আগেই সংরক্ষণ না করেই বেশি খরচ সম্ভব হয়। পুরনো মেমরি-প্রতি-সকেট অনুমান বা 65,535 কোনোটিই সর্বজনীন ধারণক্ষমতার প্রয়োজন বা Linux-এর ঊর্ধ্বসীমা নয়।

পরিষেবা পরিবর্তনের পরে নতুন প্রক্রিয়ার সীমা উদ্দেশ্যমান মানের সাথে তুলনা করুন। তাদের অনেক নিচে ব্যর্থতা ঘটলে, প্রকৃতপক্ষে যে সম্পদ শেষ হচ্ছে তা তদন্ত করুন।

সম্পর্কিত নিবন্ধ