빌드 600+ 및 CPU 사용량 - 페이지 8

 
xaphod :

빌드 628. 들어오는 틱이 없습니다. >500회/초. 아주 멋진!

빌드 645(마지막 공식 릴리스)를 확인하고 변경되지 않은 경우 Metaquotes 의 ServiceDesk에 보고하십시오 . 고맙습니다.
 
xaphod :

빌드 628. 들어오는 틱이 없습니다. >500회/초. 아주 멋진!


그래서 빌드 509 그런 일은 일어나지 않습니까? 625 어때요?
 
mikeyap9 :
수정했고 내 코드 때문이었습니다. 제대로 초기화되지 않은 변수를 추가하여 계산이 끝없이 반복되었습니다.


내가 너무 빨리 말했다. 실제로 파일 읽기 경합이었습니다. 동일한 설정 파일을 읽는 28개의 봇이 있습니다. 내가 한 것은 FILE_READ 대신 FILE_SHARE_READ 로 전환하는 것뿐이었습니다. 이제 정상으로 돌아갑니다.
 

단일 터미널에서 여전히 CPU 사용량이 높습니다. 빌드 745 및 765 사용. 차트가 로드되지 않고 뉴스가 비활성화되고 경고가 비활성화된 상태에서 터미널을 테스트했습니다. 여전히 40-60%의 CPU 사용량을 얻습니다. 듀얼 코어 3.1Ghz vps win2008, R2 64비트. 1.5GB 램, 400-800MB 램 여유. 약 7개의 터미널이 운행 중입니다. 차트가 로드된 일부 터미널은 1-3%의 CPU 사용량을 보여줍니다. 아무 것도 실행하지 않고 임의의 터미널에서 높은 사용량을 보이는 이유는 무엇입니까?

편집: 다음은 Process Explorer의 프로세스 속성 페이지 스크린샷입니다.

나는 사용률이 높은 스레드를 죽이려고합니다. 내가 할 때 동일한 CPU 사용량을 사용하는 다른 스레드가 그 자리를 차지합니다.

편집: 그런 다음 스레드를 '일시 중지'하려고 합니다(종료하지 않음).

그러면 CPU가 낮아지지만 다른 방식으로 터미널에 영향을 미치는지 확인해야 합니다. 이전 게시물은 인용문이 터미널에 오는 것을 중단했다고 제안했습니다(죽었을 때). 그래서 오늘 늦게 시장이 재개되면 지켜봐야 할 것입니다. 지금 다시 시작하려고 시도했는데 스레드가 높은 CPU 사용량으로 다시 이동합니다. 열린 차트가 없고 시장 시계에는 기호가 없습니다(모두 숨기기). 또한 시장이 닫혀 있어 들어오는 틱이 없습니다.

편집: 시장이 다시 열렸습니다. 스레드를 일시 중단하면 터미널이 5-10분 동안 정상적으로 작동하는 것처럼 보이다가 갑자기 멈추고(응답하지 않음) 프로그램을 작동시키려면 스레드를 일시 중단 해제(재개)하거나 다시 시작해야 합니다. 프로그램.

재부팅 후 거의 같은 시간에 시작한 다른 터미널에도 메모리 사용량이 더 이상 없었습니다(0.2-1.5% cpu 사용량으로 다시 떨어짐). 그리고 이 터미널에는 EA와 지표가 있는 차트가 열려 있습니다. 내가 뭔가를 놓치고 있지 않는 한, 설명할 수 없는 높은 CPU 사용량에 대한 합리적인 이유는 없는 것 같습니다.

 

방금 새로운 테스트 서버에서 테스트했는데 이번에는 4개의 프로세서와 2GB 램이 있는 Windows 2012 64비트를 사용했습니다. 여러 차트와 표시기가 로드된 상태에서도 낮은 CPU 사용량(0.1~1%)으로 터미널을 시작했습니다.

그런 다음 새로 설치한 터미널을 실행했는데 실행한 지 약 2분 후에 25% 사용률이 됩니다( 열린 차트 없음). 다른 기존 터미널은 사용량이 적습니다.

그 다음에는 아무 사고 없이 동작하던 다른 단말기들. 다시 시작하면 즉시 터미널이 높은 CPU 사용량을 사용하게 됩니다. 흠....

스레드가 CPU를 너무 많이 사용하게 만드는 것은 mt4의 일부 버그라고 생각합니다. 하지만 왜?

-------

편집: mql4.codebase.en.dat 파일의 차단을 해제하여 CPU 사용량이 0.2-3%로 재개되었습니다. 더 이상 터미널당 프로세서를 최대화하지 않고 파일이 정상적으로 기록됩니다.

mql4.codebase.en.dat 파일은 다음 위치에 있습니다. Users\[user]\AppData\Roaming\MetaQuotes\Terminal\Community

이전에는 블로트웨어를 줄이기 위해 특정 mt4 파일에 읽기 전용 권한이 할당되었습니다.