Construir 600+ y uso de la CPU - página 8

 
xaphod:

Construye 628. No hay ticks entrantes. >500 veces/segundo. ¡Maravilloso!

Por favor, comprueba con la build 645 (última versión oficial), y repórtalo al ServiceDesk de Metaquotes, si no hay cambios. Gracias.
 
xaphod:

Construye 628. No hay ticks entrantes. >500 veces/segundo. ¡Maravilloso!


¿Así que en la versión 509 no ocurre eso? ¿Y la 625?
 
mikeyap9:
Arreglado y era debido a mi código. Añadí variables que no estaban inicializadas correctamente, por lo que tenía cálculos en bucle sin fin.


Hablé demasiado pronto que no era eso. En realidad era una contención de lectura de archivos, tengo 28 bots leyendo el mismo archivo de configuración. Todo lo que hice fue cambiar a FILE_SHARE_READ en lugar de FILE_READ. Ahora vuelve a la normalidad.
 

Sigo teniendo un alto uso de la CPU en un solo terminal. Usando las builds 745 y 765. Probé el terminal sin gráficos cargados, noticias deshabilitadas, alertas deshabilitadas. Sigo teniendo un 40-60% de uso de la cpu. vps dual core 3.1Ghz win2008, R2 64 bit. 1.5GB ram, 400-800MB ram libre. Alrededor de 7 terminales que se ejecutan. algunos terminales que se cargan con los gráficos están mostrando 1-3% de uso de la CPU. ¿Por qué el alto uso de los terminales al azar, incluso con nada en ejecución?

Editar: Aquí hay una captura de pantalla de la página de propiedades del proceso de Process Explorer:

Intento matar el hilo de alto uso. Cuando lo hago, otro hilo que usa el mismo uso de cpu toma su lugar.

edit: entonces intento 'suspender' el hilo (no matarlo).

Eso baja la cpu, pero necesito ver si afecta al terminal de alguna otra manera. Mensajes anteriores han sugerido que las cotizaciones han dejado de llegar al terminal (cuando se mata). Así que cuando el mercado se reanude más tarde hoy, tendré que ver. He intentado reanudarlo ahora y el hilo sólo salta de nuevo a la alta utilización de la cpu. No hay gráficos abiertos, y el reloj de mercado no tiene símbolos (ocultar todo). Además, los mercados están cerrados, por lo que no hay ticks entrantes.

edit: los mercados se han reabierto. Cuando suspendo el hilo, el terminal parece funcionar normalmente durante 5-10 minutos, entonces se congela de repente (no responde) y entonces hay que des-suspender (reanudar) el hilo para que el programa funcione, o reiniciar el programa.

Me di cuenta de que otro terminal que lancé alrededor del mismo tiempo después del reinicio también tenía un alto uso de la memoria ya no lo tiene (volvió a bajar a 0,2-1,5% de uso de la cpu). Y este terminal tiene gráficos abiertos con EAs e indicadores. No parece haber una razón racional aquí para el inexplicable alto uso de la cpu, a menos que me esté perdiendo algo.

 

Acabo de hacer pruebas en un servidor de pruebas nuevo, esta vez usando windows 2012 64 bit con 4 procesadores y 2gb de ram. Tenía terminales lanzados con un uso de cpu bajo (entre 0,1 y 1%) incluso con varios gráficos cargados e indicadores.

Luego lancé un terminal recién instalado y a los 2 minutos de lanzarlo se va al 25% de uso (sin gráficos abiertos). Los otros terminales existentes tienen un uso menor.

Luego los otros terminales que se comportaban sin incidentes, al reiniciarlos, los terminales inmediatos pasan a usar un alto uso de la cpu. Hmmmm....

Creo que es algún bug del mt4 que está haciendo que un hilo use tanta cpu, pero ¿por qué?

-------

edit: Desbloqueando el archivo mql4.codebase.en.dat, el uso de cpu volvió a ser del 0.2-3%. Ya no se maximiza un procesador por terminal y el archivo escribe normalmente.

El archivo mql4.codebase.en.dat se encuentra aquí: Users\[user]\AppData\Roaming\MetaQuotes\Terminal\Community

Anteriormente, se asignaban permisos de sólo lectura a ciertos archivos mt4 para reducir el bloatware.