Build 600+ e utilizzo della CPU - pagina 8

 
xaphod:

Costruire 628. Nessun tic in arrivo, >500 volte/secondo. Meraviglioso!

Per favore controlla con la build 645 (ultima release ufficiale), e segnalalo al ServiceDesk di Metaquotes, se invariato. Grazie.
 
xaphod:

Costruire 628. Nessun tic in arrivo, >500 volte/secondo. Meraviglioso!


Quindi la build 509 non succede niente del genere? E la 625?
 
mikeyap9:
Risolto ed era dovuto al mio codice. Ho aggiunto delle variabili che non erano inizializzate correttamente, quindi avevo dei calcoli in loop all'infinito.


Ho parlato troppo presto che non era quello. Era una vera e propria contesa nella lettura del file, ho 28 bot che leggono lo stesso file di setup. Tutto quello che ho fatto è stato passare a FILE_SHARE_READ invece di FILE_READ. Ora è tornato alla normalità.
 

Ho ancora un alto utilizzo della CPU su un singolo terminale, usando le build 745 e 765. Ho testato il terminale senza grafici caricati, notizie disabilitate, avvisi disabilitati. Ho ancora il 40-60% di utilizzo della CPU. dual core 3.1Ghz vps win2008, R2 64 bit. 1.5GB di ram, 400-800MB di ram libera. Circa 7 terminali in esecuzione. alcuni terminali che sono caricati con i grafici mostrano l'1-3% di utilizzo della cpu. Perché l'utilizzo elevato su terminali casuali, anche con nulla in esecuzione?

edit: Ecco uno screenshot della pagina delle proprietà del processo di Process Explorer:

Cerco di uccidere il thread ad alto utilizzo, ma quando lo faccio, un altro thread con lo stesso utilizzo della cpu prende il suo posto.

edit: poi provo a 'sospendere' il thread (non ucciderlo).

Questo abbassa la cpu, ma ho bisogno di vedere se influisce sul terminale in qualche altro modo. I post precedenti hanno suggerito che le citazioni hanno smesso di arrivare al terminale (quando viene ucciso). Quindi quando il mercato riprende più tardi oggi, dovrò vedere. Ho provato a riprenderlo ora e il thread salta indietro all'alto utilizzo della cpu. Nessun grafico aperto, e l'orologio del mercato non ha simboli (nascondere tutto). Inoltre i mercati sono chiusi, quindi nessun tick in arrivo.

edit: i mercati si sono riaperti. Quando sospendo il thread, il terminale sembrerà funzionare normalmente per 5-10 minuti, poi si bloccherà improvvisamente (non rispondendo) e quindi è necessario o un-sospendere (riprendere) il thread per far funzionare il programma, o riavviare il programma.

Ho notato che un altro terminale che ho lanciato più o meno nello stesso periodo dopo il riavvio e che aveva un alto utilizzo della memoria non lo ha più (è sceso allo 0,2-1,5% di utilizzo della cpu). E questo terminale ha dei grafici aperti con EAs e indicatori. Non sembra esserci una ragione razionale per un inspiegabile alto utilizzo della cpu, a meno che non mi stia perdendo qualcosa.

 

Ho appena fatto dei test su un server di prova nuovo di zecca, questa volta utilizzando windows 2012 64 bit con 4 processori e 2gb di ram. Ho lanciato dei terminali con un basso utilizzo della cpu (tra lo 0,1 e l'1%) anche con diversi grafici caricati e indicatori.

Poi ho lanciato un terminale appena installato, e circa 2 minuti dopo il lancio, va al 25% di utilizzo (nessun grafico aperto). Gli altri terminali esistenti sono di utilizzo inferiore.

Poi gli altri terminali che si stavano comportando senza problemi. Quando vengono riavviati, i terminali immediatamente vanno ad utilizzare un alto utilizzo della cpu. Hmmmm....

Penso che sia qualche bug in mt4 che sta facendo usare ad un thread così tanta cpu, ma perché?

-------

edit: sbloccando il file mql4.codebase.en.dat, l'utilizzo della cpu è tornato allo 0,2-3%. Non massimizza più un processore per terminale e il file scrive normalmente.

Il file mql4.codebase.en.dat si trova qui: Users\[user]\AppData\Roaming\MetaQuotes\Terminal\Community

In precedenza, i permessi di sola lettura erano assegnati a certi file mt4 per ridurre il bloatware.