Squid faktiskā failu deskriptoru ierobežojuma noteikšana
Izlasiet darbojošā starpniekservera procesa ierobežojumus, pirms maināt PAM iestatījumus vai kopējat fiksētu nofile vērtību no kapacitātes receptes.
Pārbaudiet darbojošos dēmonu, pirms uzticaties pieteikšanās čaulas ulimit -n. Instalācijai, kas izmanto squid.service, sāciet ar:
systemctl show squid.service -p MainPID -p LimitNOFILE
systemctl cat squid.service
Lasiet /proc/PID/limits ar faktisko procesa ID. Vairāku procesu izvietojumā pārbaudiet arī attiecīgo darbinieku. Konfigurācijā saglabātā vērtība nav pierādījums, ka šis process to ir mantojis.
| Kontrole | Tvērums |
|---|---|
Čaula ulimit un PAM limits.conf | Čaulas pēcteči vai sesijas, kas faktiski izmanto PAM iestatījumu |
systemd LimitNOFILE= | Procesi, kas palaisti saskaņā ar šī pakalpojuma resursu politiku |
Squid max_filedescriptors, kur tas tiek atbalstīts | Lietotnes ierobežojums operētājsistēmas ietvaros |
Sistēmas pakalpojums nepārņem PAM labojumus tikai tāpēc, ka administrators ir mainījis failu. Izmantojiet pakalpojumam raksturīgu drop-in, ja tā systemd ierobežojuma maiņa ir lietderīga. Squid dokumentē, ka max_filedescriptors maiņai nepieciešama restartēšana; ja tas tiek atstāts neiestatīts, tiek mantots OS mīkstais ierobežojums.
Mēriet ierobežojumu deskriptoriem, nevis lietotājiem. Klienti var turēt vairākas ligzdas, un arī izejošie savienojumi, žurnāli un palīgcaurules patērē deskriptorus. Ierobežojuma palielināšana ļauj patērēt vairāk, uzreiz nerezervējot fiksētu RAM daudzumu katram iespējamajam deskriptoram. Ne vecs atmiņas uz ligzdu novērtējums, ne 65,535 nav universāla kapacitātes prasība vai Linux griesti.
Pēc pakalpojuma maiņas salīdziniet jaunā procesa ierobežojumus ar paredzētajām vērtībām. Ja kļūmes rodas krietni zem tām, izmeklējiet resursu, kas faktiski tiek izsmelts.