Здравствуйте!Имею уже полгода проблему со Squid 3.1.* (до определённого момента всё было очень даже стабильно).
Squid после запуска растёт и растёт и растёт, пока не съест оперативную память и swap...
Наблюдать данное начал на старом сервере:
Linux gserver 2.6.27-gentoo-r8 #10 i686 Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz GenuineIntel GNU/Linux
На борту 2 Gb оперативной памяти.
Грешил сначала что может неправильно сконфигурировал сквид, но даже поставив "минимальный" конфиг, без всяких в нагрузку acl, delay_pools, авторизацией и т.д. squid всё равно съедает постепенно ВСЮ память!
Ладно, стал грешить на кривые руки и неправильно собранную ОС.
Собрал новый системник, накатил туда свежую ОС Gentoo, получил следующий uname -a:
Linux proxy.ircoc.vrn.ru 2.6.34-gentoo-r6 #3 x86_64 Intel(R) Core(TM) i5 CPU 760 @ 2.80GHz GenuineIntel GNU/Linux
На борту 4 Gb оперативной памяти.
Поставил свежий Squid 3.1.8. Какое то время работало всё отлично, с авторизацией ntlm, бассейнами, списками доступа и т.д.
Часть юзеров весело на старом сервере, часть на новом (в общей сложности на двух серверах 122 юзера)
Но вот пришло время и в !ОДИН ДЕНЬ! и на старом сервере и на новом !ОДНОВРЕМЕННО! squid начал пожирать память как ему вздумается, и никогда её не высвобождать.
Ладно, начал пересобирать squid, использовал только (поминимуму) флаги (epoll ldap pam ssl). Поставил опять минимальный конфиг (не ругайте за такой адрес локальной сети, это до меня, пока не переделал):
proxy ~ # grep -v "^#" /etc/squid/squid.conf | sed -e '/^$/d'
acl manager proto cache_object
acl localhost src 127.0.0.1/32 192.92.92.100
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 192.92.92.0/24
acl SSL_ports port 443 5222 5223 15100
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow localhost
http_access deny all
http_port 192.92.92.100:3128
hierarchy_stoplist cgi-bin ?
coredump_dir /var/cache/squid
refresh_pattern ^ftp: &n... 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
Всё равно ест и ест память... И с cache_mem уже экспериментировал, и memory_pools выключал включал, и cache_dir в NULL ставил... Вобще не пойму в чём дело! Остальные программы на данном сервере крутятся круглосуточно без проблем...
Встречал похожую проблему здесь, решения там не оказалось:
http://opennet.ru/openforum/vsluhforumID12/3850.html?n=Андрей Слободяник
Приведу наблюдения за памятью, очень странные, посмотрите, пожалуйста:
Старт сквида с нужным конфигом (acl, delay_pools, ntlm, cache_dir 10000, cache_mem 128 (аналогичные результаты и на 64, 256, 512)
2010-11-11 15:01:01 306760 KB
2010-11-11 16:01:01 1353816 KB
2010-11-11 17:01:01 1408724 KB
2010-11-11 18:01:01 2448968 KB
2010-11-11 19:01:01 2448968 KB
2010-11-11 20:01:01 2448968 KB
Здесь видно что процесс перестал расти в промежутке с 17 до 18 часов, хотя пользователей стало меньше ненамного с 50 до 30 штук.
Далее всю ночь процесс занимает 2448968 KB ни туда ни сюда (около 10 пользователей онлайн).
Настало утро, понеслось...
2010-11-12 9:45:01 2448968 KB
2010-11-12 9:46:01 2448968 KB
2010-11-12 9:47:01 2448968 KB
2010-11-12 9:48:01 2742476 KB
2010-11-12 9:49:01 3194164 KB
2010-11-12 9:50:01 3216340 KB
2010-11-12 9:51:01 3216340 KB
2010-11-12 9:52:01 3217192 KB
2010-11-12 9:53:01 3217532 KB
2010-11-12 9:54:01 3219148 KB
2010-11-12 9:55:01 3219856 KB
2010-11-12 9:56:01 3220300 KB
2010-11-12 9:57:01 3220700 KB
2010-11-12 9:58:01 3220880 KB
2010-11-12 9:59:01 3221456 KB
Всю ночь держался, а тут за 12 минут съел 700 мегабайт!!!! Пользователей на тот момент онлайн 30...
В конце концов:
2010-11-12 12:50:01 3495664 KB
Он залезает в swap и начинаются тормоза.
Хорошо, это был конфиг мной сооружённый.
Сделаем сквиду минимальный конфиг, его я приводил выше, наблюдаем за памятью:
Старт сквида
2010-11-12 15:53:01 46576 KB
Через час уже:
2010-11-12 17:02:01 1799352 KB
И растёт растёт растёт...
Пожалуйста, помогите решить проблему, замучился...
Может дело в какой то атаке на прокси из локальной сети? Внешка блокируется iptables наглухо.