Прегледајте покренути демон пре него што поверите ulimit -n пријавне љуске. За инсталацију која користи squid.service, почните са:

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

Прочитајте /proc/PID/limits користећи стварни ID процеса. У вишепроцесном постављању проверите и одговарајућег радника. Вредност сачувана у конфигурацији није доказ да ју је овај процес наследио.

КонтролаОбухват
Љуска ulimit и PAM limits.confПотомци љуске или сесије које стварно користе PAM поставку
systemd LimitNOFILE=Процеси покренути под политиком ресурса те услуге
Squid max_filedescriptors, где је подржаноОграничење апликације унутар ограничења оперативног система

Системска услуга не преузима PAM измене само зато што је администратор променио датотеку. Користите drop-in специфичан за услугу када је промена њеног systemd ограничења прикладна. Squid документује да max_filedescriptors захтева поновно покретање да би се променио; ако остане неподешен, наслеђује меко ограничење ОС-а.

Димензионишите ограничење према дескрипторима, а не према корисницима. Клијенти могу да држе неколико утичница, а одлазне везе, записи и помоћни цевоводи такође троше дескрипторе. Подизање ограничења дозвољава већу потрошњу без тренутног резервисања фиксне количине RAM-а по могућем дескриптору. Ни стара процена меморије по утичници ни 65,535 нису универзални захтев капацитета ни Linux плафон.

Након промене услуге упоредите ограничења новог процеса са предвиђеним вредностима. Ако се грешке јављају знатно испод њих, истражите ресурс који се стварно исцрпљује.

Повезани чланци