Squid-in həqiqi fayl deskriptoru limitini tapmaq
PAM parametrlərini dəyişmədən və ya tutum reseptindən sabit nofile dəyərini köçürmədən əvvəl işləyən proksinin proses limitlərini oxuyun.
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.conf | Qabığı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.