+ Responder ao Tópico



  1. #1
    juniox
    Visitante

    Padrão Memória usada por um programa

    Olá,
    tem como saber quanto de memória um certo programa está usando?

    certo, aqui eu uso o top pra ficar monitorando:

    top -d 1

    porém.. ele é listado ordem crescente de PID ... eu queria ver exclusivamente um processo...

    alguém sabe como?

    valeu

  2. #2

    Padrão Memória usada por um programa

    Se o processo é acionado por um usuário específico, como por exemplo o Apache, você pode teclar u e o nome do usuário (no caso apache) que só aparecerão os processos do Apache...
    Você pode teclar M dentro do top que os processos aparecerão em ordem de consumo de memória...
    Você também deve usar a opção c para colocar a linha de comando que vai facilitar a tua consulta e acompanhamento...



  3. #3
    juniox
    Visitante

    Padrão Memória usada por um programa

    maravilha essa opção :good:

    outra coisa que não sei e teria como eu arrumar aqui

    bom, listando os processos encontrei várias conexões com o mysql e cada uma ocupada 17.336 mb de memória...

    a máquina possui 512 e creio que isso tenha acontecido devido a um mal planejamento da parte dos programdores pois parece que pra cada página do sistema há uma conexão com o mysql

    o servidor não está aguentando.

    vi aqui, que tem processo do mysqld aberto ONTEM e que provavelmente não está sendo usado agora...

    existe como colocar um... TIMEOUT ... no mysql pra ele fechar as conexões que não estão sendo usadas mais ou isso deveria ser feito nas páginas jsp ?

  4. #4

    Padrão Memória usada por um programa

    Você pode colocar em qualquer um dos lados...
    No MySQL você pode usar o parâmentro mysql.connect_timeout
    Dê uma olhada na documentação para ver qual a melhor opção para você...



  5. #5
    juniox
    Visitante

    Padrão Memória usada por um programa

    bom, creio que seja mais viável colocar um timeout no servidor pra não ter que editar todos os arquivos.jsp

    procurei no manual sobre essa função que você comentou, mas não encontrei nada...

    sabe como deveria colocar ela no servidor pra "derrubar" as conexões inativas depois de X minutos?

  6. #6

    Padrão Memória usada por um programa

    Essa função não é no servidor web e sim no banco de dados, é um parâmetro de iniciação...



  7. #7
    juniox
    Visitante

    Padrão Memória usada por um programa

    desculpa, quando disse "servidor" quis me referir ao mysqld

  8. #8

    Padrão Assim funciona

    jsp === java né

    isso ta com cara de conexao persistente viu mas de qualquer jeito
    coloca isso no /etc/my.cnf
    set-variable = connect-timeout=5

    Entra no seu mysql e da um:
    show variables isso ajuda a detectar configurações default que as vezes são muito conservadoras.

    Verifica se o pessoal que programou ta usando algum tipo de poll de conexões ou mesmo um objeto java tipo hibernate.

    Falow abração



  9. #9
    juniox
    Visitante

    Padrão Memória usada por um programa

    ae wps, legal esse "show variables" não conhecia...
    então, quando listei as variáveis achei algo que talvez seria útil:

    wait_timeout 28800
    esse time out é por servidor todo? ele se "reboota"?

    outra coisa... esse
    set-variable = connect-timeout=5
    o que ele faz exatamente?
    desconecta de uma database depois de 5 segundos inativa?

    e só pra perturbar mais um pouco, desculpa minha ignorância, mas o que sería um "poll de conexões" ?

    valeu cara

  10. #10

    Padrão Poll de conexoes

    Tem algumas aplicações que fazem assim geram multiplas conexões com o banco em alguns casos ultizam de forma organizada para aumentar a produtividade da aplicação.

    exemplo:
    Poll1
    $conn1 somente atualiza dados (Update)
    $conn2 somente traz dados (Selects)
    $conn3 somente faz insert (Insert)

    Isso seria um poll primitivo de conexoes 1 aplicação ultiliza 3 conexoes ao mesmo tempo com o banco !

    o parametro connect_timeout=5 segundo é o tempo que a conexao tem para fechar a conexao.

    Esse wait_timeout é mais plausivel mas 1 hora tem 3600 segundos 28000 dividido por 3600 da 7 horas !



  11. #11

    Padrão Memória usada por um programa

    wps,
    JSP é Java Server Pages, mas não tem as mesmas funcionalidades do java, ele funciona de modo parecido com o ASP e PHP, este código pode ser meio de campo entre os applets do java e a página web, mas normalmente é usado de forma independente.
    O problema desse tipo de conecção é que o pessoal faz a conecção e sempre esquece de fechar, por isso fica pendurada...
    Quanto a pool de conecções, o que conheço tem um conceito diferente, não por atividade (insert, update, delete, select) e sim porusabilidade, isto é, o aplicativo mantém um grupo (pool) de conecções com o banco, cada vez que alguém precisa se conectar usa essa conecção pré-estabelecida e a devolve ao final do processamento, seja ele qual for.

    juniox,
    o timeout não derruba o servidor, ele derruba a conecção inativa a mais de x tempo...

  12. #12

    Padrão Alguem que conhece !

    Obrigado pelos esclarecimentos !!!

    Por isso eu coloquei poll primitivo !

    Obrigado



  13. #13
    juniox
    Visitante

    Padrão Memória usada por um programa

    opa, legal
    depois eu altero o my.cnf aqui


    acho que por hoje um
    set-variable = connect-timeout=5
    resolveria...

    pra "ativar" essa variável é necessário reiniciar o mysqld?

  14. #14

    Padrão Memória usada por um programa

    o parâmetro connect-timeout deve ser definido no my.cnf
    para que o banco reconheça a atualização, só reiniciando o banco...
    a menos que esse seja um parâmetro dinâmico, isso você deve encontrar no www.mysql.org