Construir 600+ e uso de CPU - página 8

 
xaphod:

Construir 628. Sem carrapatos de entrada. >500 vezes/segundo. Maravilhoso!

Favor verificar com o build 645 (último lançamento oficial), e informar ao ServiceDesk de Metaquotes, se não houver alterações. Obrigado.
 
xaphod:

Construir 628. Sem carrapatos de entrada. >500 vezes/segundo. Maravilhoso!


Então, construir 509 não acontece tal coisa? Que tal 625 ?
 
mikeyap9:
Fixo e isso se deveu ao meu código. Adicionei variáveis que não foram inicializadas corretamente, então eu tinha cálculos em looping sem fim.


Eu falei cedo demais, não foi isso. Na verdade foi uma disputa de leitura de arquivo, tenho 28 bots lendo o mesmo arquivo de configuração. Tudo o que fiz foi mudar para FILE_SHARE_READ ao invés de FILE_READ. Agora de volta ao normal.
 

Ainda tenho alto uso de CPU em um único terminal. Usando os builds 745 e 765. Testei o terminal sem gráficos carregados, notícias desabilitadas, alertas desabilitados. Ainda tenho 40-60% de uso de cpu. dual core 3.1Ghz vps win2008, R2 64 bit. 1,5GB ram, 400-800MB ram livre. Cerca de 7 terminais funcionando. alguns terminais que são carregados com gráficos estão mostrando 1-3% de uso da cpu. Por que o alto uso em terminais aleatórios, mesmo sem nada funcionando?

editar: Aqui está uma imagem da página de propriedades de processo do Process Explorer:

Eu tento matar a linha de alta utilização. Quando o faço, outra linha usando a mesma utilização cpu toma seu lugar.

edit: então eu tento 'suspender' o thread (não matá-lo).

Isso diminui a cotação, mas preciso ver se ela afeta o terminal de alguma outra forma. Postos anteriores sugeriram que as cotações pararam de chegar ao terminal (quando morto). Portanto, quando o mercado recomeçar hoje mais tarde, eu terei que ver. Tentei retomá-lo agora e a linha salta de volta para a alta utilização do cpu. Sem gráficos abertos, e o relógio de mercado não tem símbolos (esconder todos). Além disso, os mercados estão fechados, portanto, não há ticks de entrada.

editar: os mercados reabriram. Quando eu suspender a linha, o terminal parecerá funcionar normalmente por 5-10 minutos, então ele congelará de repente (não respondendo) e então você deverá ou desuspender (retomar) a linha para fazer o programa funcionar, ou reiniciar o programa.

Eu notei que outro terminal que eu lancei por volta da mesma hora após a reinicialização também tinha alto uso de memória (caiu para 0,2-1,5% de uso da cpu). E este terminal tem gráficos abertos com EAs e indicadores. Não parece haver aqui uma razão racional para o uso inexplicável da alta cpu, a menos que eu esteja perdendo algo.

 

Acabei de testar em um servidor de teste novinho em folha, desta vez usando Windows 2012 64 bit com 4 processadores e 2gb ram. Tive terminais lançados com baixo uso de cpu (entre 0,1 e 1%) mesmo com vários gráficos carregados e indicadores.

Então lancei um terminal recém instalado, e cerca de 2 minutos após o lançamento, ele vai para 25% de uso (sem gráficos abertos). Os outros terminais existentes são de menor uso.

Depois, os outros terminais que estavam se comportando sem incidentes. Quando são reiniciados, os terminais imediatamente passam a usar um uso elevado da cpu. Hmmmm....

Eu acho que é algum bug no mt4 que está fazendo tanto uso de cpu. Mas por quê?

-------

editar: Ao desbloquear o arquivo mql4.codebase.en.dat, o uso da cpu retomou para 0,2-3%. Não há mais um processador por terminal e o arquivo escreve normalmente.

arquivo mql4.codebase.en.dat localizado aqui: Usuários\\\\PTerminal

Anteriormente, as permissões só de leitura eram atribuídas a certos arquivos mt4 para reduzir o bloatware.