إيجاد الحد الحقيقي لوصفات الملفات في Squid
اقرأ حدود عملية البروكسي العاملة قبل تغيير إعدادات PAM أو نسخ قيمة nofile ثابتة من وصفة سعة.
افحص البرنامج الخفي العامل قبل أن تثق بـ 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 لمجرد أن المسؤول غيّر الملف. استخدم ملف drop-in خاصًا بالخدمة عندما يكون تغيير حد systemd مناسبًا. توثّق Squid أن max_filedescriptors يتطلب إعادة تشغيل لتغييره؛ وتركه غير مضبوط يورث الحد اللين لنظام التشغيل.
اجعل الحد مناسبًا لعدد وصفات الملفات لا لعدد المستخدمين. يمكن للعملاء الاحتفاظ بعدة مقابس، كما تستهلك الاتصالات الصادرة والسجلات وأنابيب المساعدة وصفات ملفات أيضًا. رفع الحد يسمح باستهلاك أكبر دون حجز كمية ثابتة من الذاكرة لكل وصفة ملف محتملة. لا التقدير القديم للذاكرة لكل مقبس ولا 65,535 متطلب سعة عالمي أو سقف لينكس.
بعد تغيير الخدمة، قارن حدود العملية الجديدة بالقيم المقصودة. إذا ظهرت أعطال أقل بكثير منها، فحقّق في المورد الذي يُستنفد فعليًا.