quarta-feira, 28 de outubro de 2009

Squid - WARNING! Your cache is running out of filedescriptors

Ultimamente estava com alguns problemas no proxy, quando resolvi dar uma olhada no arquivo cache.log para saber o que estava acontecendo. Percebi que o mesmo estava dando o seguinte erro:

WARNING! Your cache is running out of filedescriptors


Este erro parava totalmente a navegação na rede. Googleando, descobri que o squid estava rodando no limite de arquivos abertos na rede (como somos provedores de serviços), e acontecia um over flow no serviço do proxy.

A Solução:

Para resolver o caso, é preciso aumentar a capacidade dos descritores de arquivos, e existem duas formas de se fazer.

1 - Recompilando o kernel e setando os seguintes valores:

Setar "ulimit -HSn 16384", em /usr/src/linux/include/linux/posix_types.h
e definir:
#define __FD_SETSIZE 16384
e em /usr/src/linux/include/linux/fs.h
e definir:
#define INR_OPEN 16384

Em seguida, salve e recompile o kernel.

2 - Setando no shell uma variável com um tamanho de descritores de arquivos
maiores que o padrão (1024), com o comando:

ulimit -HSn 16384

Com esta segunda opção, se o servidor reiniciar e você não estiver presente
o erro acontecerá novamente, pois o valor padrão voltará.

Logo, o 1º passo é altamente recomendável.

Bom, até hoje não deu problemas, e escolhi a 1º opção.

Abraços e até a próxima.

Fábio Campos Coelho
LPI & CCNA




Nenhum comentário:

Postar um comentário