Se você usa um servidor local de banco de dados, possivelmente tem esse problema e talvez nem tenha percebido. Na verdade eu também não tinha notado essa "anomalia", mas hoje, conversando com um colega desenvolvedor, ele relatou que seu notebook estava com um consumo excessivo de memória e não sabia o motivo.
Orientei que ele usasse o gerenciador de tarefas do Windows e listasse os processos por ordem de consumo de recursos, no caso memória. Foi quando ele disse que o processo que mais estava consumindo RAM da máquina era o MYSQLD.exe, processo do banco de dados MySQL.
Com algumas pesquisas, descobri que o problema esta no tamanho dos buffers e caches que o servidor usa como padrão em sua configuração. E não demorou muito para encontrar também uma solução para o problema.
O primeiro passo é abrir o arquivo de configuração chamado MY.INI (pesquise esse nome dentro da pasta de instalação do seu servidor para facilitar). Caso queira acessar manualmente, procure em BIN > MYSQL > MYSQLX.X.X (onde X é a versão instalada).
Abra o arquivo MY.INI e procure uma seção chamada [mysqld]. Agora adicione a seguinte linha no final dessa seção: table_definition_cache=400
Salve o arquivo e reinicie o serviço do banco de dados ou o servidor. Entre novamente no gerenciador e confira o resultado, possivelmente o consumo agora irá ficar abaixo de 100 MB, bem melhor que os mais de 400 de antes.
Espero ter ajudado.
Compartilhe esse post:Sou técnico em hardware e desenvolvedor web, e sobre estes dois assuntos comecei a compartilhar aulas e artigos, tornando-me blogueiro em 2008. Em 2010 esse hobby virou profissão, e desde então tenho buscado melhorar e profissionalizar cada vez mais os projetos que mantenho na web.
Atualmente temos 10 comentários para este post. Participe você também, clique aqui e comente sobre o assunto.
Fazendo estas alterações, se der alguma zica, é possivel desfazer?
ResponderVocê está alterando um arquivo de texto, se tiver que desfazer é só desfazer.
ResponderParabéns pelo artigo. Procurando pela solução, achei a sua. E não satisfeito, achando que ainda estava consumindo muita memória por um serviço que fica praticamente inativo, pesquisei um pouco mais e encontrei a seguinte solução:
Procure a string performance_schema no my.ini e sete-a como OFF. Caso não a encontre, adicione ao final do arquivo a seguinte declaração:
performance_schema=OFF
Meu consumo de memória com o mysqld.exe agora está menos de 40 Mb.
Abs.
ResponderObrigado pela colaboração Fábio
ResponderBom dia!
Ótimo artigo !
Mas no meu caso não deu certo... estou a desenvolver um sistema web , e o processo do navegador que eu uso para testar o sistema php+mysql
começa aumentar cada vez mais o consumo de memoria, as vezes chegando a ficar 3GB em um processo!
às vezes também o uso da cpu vai a 100% em alguns instantes.
o que pode ser ? Conexão com Banco aberta? varias conexões com o mesmo?
Obrigado !
ResponderA única forma que encontrei de reduzir isso foi a mostrada no post, infelizmente não sei outra opção e também não sei a causa exata desse problema.
ResponderSou inscrito no seu canal do youtube...e pra variar você é fera no assunto...Resolvo muitos problemas do dia-a-dia com suas dicas. Obrigado!
ResponderBoa tarde, Ricardo gostaria de saber se essa sua solução tem algum efeito colateral, se gera alguma perda de desempenho ou coisas do tipo.
Muito obrigado
ResponderEu não notei diferença, mas não testei sistemas mais pesados depois disso.
Responder© 2008-2023 - RBTech.info | Todos os direitos reservados | Hospedado por Innova Host
É proibida a reprodução total ou parcial de qualquer conteúdo deste site.
Valeu! Me ajudou, reduziu o percentual de consumo.