Кирүү кабыгынын 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 оңдоолорун кабыл албайт. systemd чегин өзгөртүү орундуу болгондо кызматка таандык drop-in колдонуңуз. Squid документтешет: max_filedescriptors өзгөрүү үчүн кайра баштоо талап кылынат; коюлбай калса, ОСтин жумшак чеги мурасталат.

Чекти колдонуучуларга эмес, дескрипторлорго жараша өлчөңүз. Кардарлар бир нече сокетти кармай алат, ошондой эле сыртка багытталган байланыштар, журналдар жана жардамчы түтүктөр да дескрипторлорду сарптайт. Чекти көтөрүү ар бир мүмкүн болгон дескриптор үчүн дароо туруктуу RAM корутуудан тышкары көбүрөөк керектөөгө жол берет. Эски сокетке карата эстутум баасы да, 65,535 да универсалдуу сыйымдуулук талабы же Linux төбөсү эмес.

Кызматты өзгөрткөндөн кийин жаңы процесстин чектерин көздөлгөн маанилер менен салыштырыңыз. Жаңылыштыктар алардан кыйла төмөн болсо, чындап бүтүп жаткан ресурсту изилдеңиз.

Тектеш макалалар