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

 
RaptorUK:

Será que você poderia verificar algo para mim em seu Process Explorer ?

Se você encontrar o processo do terminal.exe, clique duas vezes nele e depois vá para a guia Threads . . você tem uma ou duas roscas chamadas terminal.exe+ .... Eu tenho dois . . .

se eu matar aquele que usa a CPU MT4 ainda parece funcionar bem, mas com um uso muito menor da CPU.

Com prazer, mas preciso instalar algumas Ferramentas de Depuração Microsoft para Windows...Publicarei o resultado assim que eu o tiver.
 

aqui é básico, trabalhe para suas necessidades

//+------------------------------------------------------------------+
//|                                                       !pCPUu.mq4 |
//+------------------------------------------------------------------+
#property version   "1.00"

#import "Psapi.dll"
   bool EnumProcesses(int& pProcessIds[], int cb, int & pBytesReturned);
   int  GetModuleBaseNameW(int hProcess, int & hModule[], char & lpBaseName[], int nSize);
   int  GetModuleFileNameExW(int hProcess, int & hModule[],ushort & lpFilename[], int nSize);
   bool EnumProcessModules(int hProcess,int & lphModule[],int cb, int & lpcbNeeded[]);

#import

#import "kernel32.dll"
   int  OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
   bool GetProcessTimes(int hProcess, int & lpCreationTime[], int & lpExitTime[], int & lpKernelTime[], int & lpUserTime[]);
   bool GetSystemTimes(int & lpIdleTime[], int & lpKernelTime[], int & lpUserTime[]);
   int  GetLastError(void);
#import
#define  PROCESS_QUERY_INFORMATION 0x0400
#define  PROCESS_VM_READ 0x0010

double   CPU_Usage;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(1);
      
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
      
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   int aProcesses[1024], cbNeeded, cProcesses, hMod[], szPN[1024], sz;
   int lpCreationTimeF[1], lpExitTimeF[1], lpKernelTimeF[1], lpUserTimeF[1];
   int lpCreationTimeS[1], lpExitTimeS[1], lpKernelTimeS[1], lpUserTimeS[1];
   string Prss;
            
   
   EnumProcesses(aProcesses, ArraySize(aProcesses), cbNeeded); // Get the list of process identifiers.
   cProcesses = cbNeeded / 4; // Calculate how many process identifiers were returned.
   for (int i = 0; i < cProcesses; i++)
      {
      if(aProcesses[i] != 0 )
         {
         // Get a handle to the process.
         int hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
         if (hProcess != 0)
            {
            // Get the process name.
            if (EnumProcessModules(hProcess, hMod, ArraySize(hMod), szPN))
               {
               ushort szProcessName[1850];
               GetModuleFileNameExW(hProcess, hMod, szProcessName, ArraySize(szProcessName)/32 );
               Prss = ShortArrayToString(szProcessName);
               if (StringFind(Prss, "terminal.exe") != -1)
                  {
                  // Calculate the process CPU usage
                  GetProcessTimes(hProcess, lpCreationTimeF, lpExitTimeF, lpKernelTimeF, lpUserTimeF);
                  Sleep(1000);
                  GetProcessTimes(hProcess, lpCreationTimeS, lpExitTimeS, lpKernelTimeS, lpUserTimeS);
                  CPU_Usage=((((lpKernelTimeS[0]-lpKernelTimeF[0]) + (lpUserTimeS[0] - lpUserTimeF[0])) * 100) / 10000000);
                  if (CPU_Usage > 10)
                  Alert(Prss, " is: ", CPU_Usage, " Prss no=: ", aProcesses[i]);
                  }
               }
            }
         }
      }   
  }
 
SDC:

no processo terminal eu não sei como fazer isso, então estou tentando agora mesmo tentar coisas diferentes, quase consegui obtê-lo, mas diz _total onde eu acho que deveria dizer terminal. Eu não quero que as estatísticas da CPU em tudo que eu só quero que ele faça MT4 o mesmo que quando eu adicionar o contador do processo MT4 ao gráfico de visualização gráfica ...

Você tem que escolher o processo quando estiver adicionando o Contador. Processus então %CPU tempo e escolher o processo. (Estou trabalhando em francês, portanto não tenho certeza do termo exato em inglês).
 
angevoyageur:
Com prazer, mas preciso instalar algumas ferramentas de depuração da Microsoft para Windows...publicarei o resultado assim que o tiver.

Ok. Há algo de estranho. Eu tenho 3 fios, mas parece que a %cpu aumentou desde que estou brincando com isto. Vou fazer algumas verificações e fazer um relatório sobre isso.
 
Tenho dois desses fios terminais.exe+ no meu Não acho que você deveria matar um deles, eles parecem estar fazendo muita coisa se você verificar as pilhas neles e continuar refrescando
 
angevoyageur:
Você tem que escolher o processo quando estiver adicionando o Contador. Processus então %CPU tempo e escolher o processo. (Estou trabalhando em francês, portanto não tenho certeza do termo exato em inglês).
ok Vou tentar isso novamente
 
RaptorUK:

Será que você poderia verificar algo para mim em seu Process Explorer ?

Se você encontrar o processo do terminal.exe, clique duas vezes nele e depois vá para a guia Threads . . você tem uma ou duas roscas chamadas terminal.exe+ .... Eu tenho dois . . .

se eu matar aquele que usa a CPU MT4 ainda parece funcionar bem, mas com um uso muito menor da CPU.


Ele tentou matá-lo, mas eu não recebi mais carrapatos.

De acordo com o utilitário de monitoramento de energia da placa mãe b625 usa cerca de 5W na minha CPU, enquanto o b509 usa cerca de 1W. Isto parece confirmar os números da CPU do Process Explorer.

 
euclid:


Ele tentou matá-lo, mas eu não recebi mais carrapatos de entrada.

De acordo com o utilitário de monitoramento de energia da placa mãe b625 usa cerca de 5W em minha CPU, enquanto o b509 usa cerca de 1W. Isso parece respaldar os números da CPU do Process Explorer.

Sim, eu também descobri que . . .
 
angevoyageur:
Ok. Há algo de estranho. Eu tenho 3 fios, mas parece que a %cpu aumentou desde que estou brincando com isto. Vou fazer algumas verificações e fazer um relatório sobre isso.
Não, não consigo ver nada de útil. Atualmente tenho 2 roscas terminais (sem gráficos, sem símbolos) e %cpu variando de 0,8% a 2,1%, apesar do fato de que a plataforma não deve fazer nada. Quando abro um gráfico e mostro todos os símbolos, esta %cpu está em torno de 3-4%.
 
angevoyageur:
Não, não consigo ver nada de útil. Atualmente tenho 2 roscas terminais (sem gráficos, sem símbolos) e %cpu variando de 0,8% a 2,1%, apesar do fato de que a plataforma não deve fazer nada. Quando abro um gráfico e mostro todos os símbolos, esta %cpu está em torno de 3-4%.
É porque a plataforma ainda está aceitando carrapatos incomuns?
Razão: