respondendo..
1- nao precisa recompilar kernel
2- recompile o squid com --max-fds (algo assim, ./configure --help tem a opção correta)
3- no script que inicia o squid, antes de chamar o daemon roda ulimit -n <valor>
4- se usar distros redhat like, /etc/security/limits.conf e adiciona o usuario do squid assim:
squid - nofile 65535
depois de tudo feito.. reboot :)