لاگ اِن شیل کے ulimit -n پر بھروسا کرنے سے پہلے چل رہے ڈیمن کا معائنہ کریں۔ squid.service استعمال کرنے والی تنصیب کے لیے اس سے شروع کریں:

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

اصل عمل ID استعمال کرتے ہوئے /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 کی بالائی حد ہے۔

سروس کی تبدیلی کے بعد نئے عمل کی حدود کا موازنہ مطلوبہ قدروں سے کریں۔ اگر ناکامیاں اُن سے بہت نیچے ہوں تو اصل میں ختم ہو رہے وسیلے کی تحقیق کریں۔

متعلقہ مضامین