Giriş qabığının ulimit -n dəyərinə güvənməzdən əvvəl işləyən demonu yoxlayın. squid.service istifadə edən quraşdırma üçün bununla başlayın:

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

/proc/PID/limits faylını real proses ID-si ilə oxuyun. Çoxprosesli yerləşmədə müvafiq işçini də yoxlayın. Konfiqurasiyada saxlanılan dəyər bu prosesin onu miras aldığının sübutu deyil.

NəzarətƏhatə dairəsi
Qabıq ulimit və PAM limits.confQabığın törəmələri və ya PAM parametrini həqiqətən istifadə edən sessiyalar
systemd LimitNOFILE=Həmin xidmətin resurs siyasəti altında başladılan proseslər
Squid max_filedescriptors, dəstəkləndiyi yerdəƏməliyyat sistemi məhdudiyyətləri daxilində tətbiq limiti

Sistem xidməti yalnız administrator faylı dəyişdiyi üçün PAM düzəlişlərini qəbul etmir. systemd limitini dəyişmək məqsədəuyğun olduqda xidmətə xas drop-in istifadə edin. Squid sənədləşdirir ki, max_filedescriptors dəyişmək üçün yenidən başlatma tələb edir; təyin edilmədikdə OS-un yumşaq limiti miras alınır.

Limiti istifadəçilərə görə deyil, deskriptorlara görə ölçün. Müştərilər bir neçə soket saxlaya bilər, irəli bağlantılar, jurnallar və köməkçi borular da deskriptor sərf edir. Limitin artırılması hər mümkün deskriptor üçün sabit RAM ayırmadan daha çox istehlaka imkan verir. Nə köhnə yaddaş-hər-soket təxmini, nə də 65,535 universal tutum tələbi və ya Linux tavanı deyil.

Xidmət dəyişikliyindən sonra yeni prosesin limitlərini nəzərdə tutulan dəyərlərlə müqayisə edin. Uğursuzluqlar onlardan xeyli aşağı baş verirsə, həqiqətən tükənən resursu araşdırın.

Əlaqəli məqalələr