+ Responder ao Tópico



  1. #1
    MetallicA
    Visitante

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    Probleminhas....

    Eu tenho um FC 4 instalado como servidor sem X somente para squid em um PC de 1.4GHz e 768M RAM.

    Esse servidor é um proxy/nat para a rede com pouco mais de 15 computadores e ao final do dia a memoria dele esta esgotado, usados toda a Memoria RAM e um pouco da SWAP.

    http_port 3128
    cache_mem 64 MB
    maximum_object_size 2 MB
    minimun_object_size 0 KB
    maximun_object_size_in_memory 16 KB
    cache_dir ufs /var/spool/squid 1024 16 256
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    Eu alterei apenas essa configuracoes e o resto é padrao.

    Agora a perguntinha, o que poderia esta consumindo tanto minha memoria e me parece q não esta descarregando sua utlizacao da memoria, pois apos o comando TOP a squid so ocupa 20.1 da %MEN mas o espaco livre restante da Memoria esta totalmente usada.

  2. #2

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    nem imagino mas se alguem souber eu quero saber

  3. #3
    Xlab
    Visitante

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    Olá amigo, vamos por parte, como vc disse sua maquina tem somente o squid ele só ta ocupando 15 %, mas lembre-se que isso é em tempo de execução. Ou melhor veja isso no horario de pico. Verifique como esta compilado seu kernel, veja se os modulos estao como modulos separados ou estão construidos com proprio kernel(se for o caso ocupa muita memoria). Liste os modulos usados dando "lsmod" e veja os que vc ta usando. Veja se as maquinas estão livres de worm e outras anomalias(arp spoofing, ip spoofing etc). Lembre-se tb que todo processo é alocado em memoria e ocupa espaco. Por exemplo um servidor Linux rodando: " Linux + Xserver + fvwm (95) + muitos xterm + bash + xemacs + gcc +" vai ocupar mais de 16MB e se vc tiver um servidor de ftp fica em torno de 64MB. no squid vc pode fazer o seguinte o que nao é aconselhavel mas tenta ai. Desliga a variavel " memory_pools" provalvelmente ela estará "on" mude para "memory_pools off". Lembre-se tb que a cada 1GB em cache_dirs é necessario 10MB de ram de cache(em plataformas 64bit ou Alpha é preciso mais), o que no seu caso tem muita memoria sobrando e pouco cache. Tente tb usar uma biblioteca alternativa "a GNU malloc " (alocamento dinamico de memoria) o source pode ser encontrada em http://www.gnu.org/order/ftp.html, existe tb outra de Doug Lea, ela pode ser econtrada em http://g.oswego.edu/dl/html/malloc.htm.
    O Linux é um OS incrivel e muito rapido com pouca memoria em se comparando com plataformas UNIX. Linus disse uma vez: "LINUX is so fast it can do infinite loops, on less than 5 seconds" - O Linux é tao rápido que pode fazer loops infinitos em menos de 5 segundos" eu acredito que ele é mais rapido que isso usando uma arquitetura Alpha
    Epero tê-lo ajudado

    Abracos

  4. #4

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    Para que exatamente deve se desligar o memory_pools???
    Abraço

  5. #5
    MetallicA
    Visitante

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    Então, o problema é q o seguinte: O squid comeca a trabalhar e comeca a consumir memoria RAM progressivamente, mas sempre trabalhando com pico de 15% da RAM para o squid.

    A memoria comeca a ser utilizada progressivamente ate chegar ao seu limite.

    O squid nao teria q limitar essa utilizacao ate os 64MB para sua utilizacao?


    O problema entao é a utilizacao comeca a consumir a memoria progressivamente, devagar, levando ate 20 horas para consumir toda a minha memoria.
    Me parece q o linux não consegue limpar a memoria q foi utilizada para re-utilizacao. É como vc utilizar um programa e depois de finalizado ele continuar na memoria.

    Sei la

  6. #6
    Xlab
    Visitante

    Padrão Squid no fedora core 4 como servidor usando muita memoria

    Citação Postado originalmente por lacierdias
    Para que exatamente deve se desligar o memory_pools???
    Abraço
    Desligando essa variavel, faz com que o squid descarregue a memoria nao utilizada, chamando uma funcao interna free() do squid, ao inves de ficar com ela para futuras operaçoes.