600+ ve CPU kullanımı oluşturun - sayfa 6

 
RaptorUK :

İşlem Gezgini'nde benim için bir şeyi kontrol edip edemeyeceğini merak ediyorum.

Terminal.exe işlemini bulursanız, çift tıklayın ve ardından Threads sekmesine gidin. . . terminal.exe+ adında bir veya iki iş parçacığınız var mı? .. . İki taneye sahibim . . .

CPU MT4'ü kullanan birini öldürürsem, hala iyi çalışıyor gibi görünüyor, ancak çok daha düşük bir CPU kullanımında.

Memnuniyetle ama Windows için bazı Microsoft Hata Ayıklama Araçları yüklemem gerekiyor...Sonucu alır almaz göndereceğim.
 

işte temel, ihtiyaçlarınız için çalışın

 //+------------------------------------------------------------------+
//|                                                       !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 :

terminal sürecinde bunu nasıl yapacağımı bilmiyorum, bu yüzden şu anda farklı şeyler deniyorum, neredeyse elde etmeyi başardım ama _total yazıyor, nerede terminal demesi gerektiğini düşünüyorum. CPU istatistiklerini her şeyde istemiyorum, sadece MT4 yapmasını istiyorum, MT4 işlem sayacını grafiksel ekran grafiğine eklediğimde olduğu gibi...

Sayacı eklerken işlemi seçmelisiniz. Processus ardından %CPU zamanı ve işlemi seçin. (Fransızca çalışıyorum, bu yüzden İngilizce'deki tam terimden emin değilim).
 
angevoyageur :
Memnuniyetle ama Windows için bazı Microsoft Hata Ayıklama Araçları yüklemem gerekiyor...Sonucu alır almaz göndereceğim.

Tamam. Garip bir şey var. 3 iş parçacığım var, ancak bununla oynadığımdan beri %cpu artmış gibi görünüyor. Bazı kontroller yapıp rapor edeceğim.
 
Benimkinde bu terminal.exe+ iş parçacığından iki tane var, bunlardan birini öldürmeniz gerektiğini düşünmüyorum, üzerlerindeki yığınları kontrol edip yenilemeye devam ederseniz oldukça fazla şey yapıyor gibi görünüyorlar.
 
angevoyageur :
Sayacı eklerken işlemi seçmelisiniz. Processus ardından %CPU zamanı ve işlemi seçin. (Fransızca çalışıyorum, bu yüzden İngilizce'deki tam terimden emin değilim).
tamam bunu tekrar deneyeceğim
 
RaptorUK :

İşlem Gezgini'nde benim için bir şeyi kontrol edip edemeyeceğini merak ediyorum.

Terminal.exe işlemini bulursanız, çift tıklayın ve ardından Threads sekmesine gidin. . . terminal.exe+ adında bir veya iki iş parçacığınız var mı? .. . İki taneye sahibim . . .

CPU MT4'ü kullanan birini öldürürsem, hala iyi çalışıyor gibi görünüyor, ancak çok daha düşük bir CPU kullanımında.


Onu öldürmeye çalıştı, ama daha fazla gelen kene almadım.

Anakartım güç izleme yardımcı programıma göre b625, CPU'mda yaklaşık 5W kullanırken b509 yaklaşık 1W kullanıyor. Bu, Process Explorer'dan CPU rakamlarını yedekliyor gibi görünüyor.

 
euclid :


Onu öldürmeye çalıştı, ama daha fazla gelen kene almadım.

Anakartım güç izleme yardımcı programıma göre b625, CPU'mda yaklaşık 5W kullanırken b509 yaklaşık 1W kullanıyor. Bu, Process Explorer'dan CPU rakamlarını yedekliyor gibi görünüyor.

evet bunu ben de keşfettim. . .
 
angevoyageur :
Tamam. Garip bir şey var. 3 iş parçacığım var, ancak bununla oynadığımdan beri %cpu artmış gibi görünüyor. Bazı kontroller yapıp rapor edeceğim.
Hayır, yararlı bir şey göremiyorum. Şu anda, platformun hiçbir şey yapmaması gerektiği gerçeğine rağmen, 2 terminal iş parçacığına (çizelgesiz, sembolsüz) ve %0,8 ile %2,1 arasında değişen %cpu'ya sahibim. Bir grafiği açıp tüm sembolleri gösterdiğimde bu % 3-4 civarında oluyor.
 
angevoyageur :
Hayır, yararlı bir şey göremiyorum. Şu anda platformun hiçbir şey yapmaması gerektiği gerçeğine rağmen 2 terminal iş parçacığına (çizelgesiz, sembolsüz) ve %0,8 ile %2,1 arasında değişen %cpu'ya sahibim. Bir grafiği açıp tüm sembolleri gösterdiğimde bu % 3-4 civarında oluyor.
Platform hala gelen keneleri kabul ettiği için mi?