Metatrader 5 - 기호를 통해 차트를 순환할 때 많은 메모리를 사용합니다. - 페이지 2 1234 새 코멘트 Alain Verleyen 2016.04.28 07:22 #11 gr101 : 나는 Windows Server 12 R2에 그것을 넣었고 그것은 또한 메모리를 밀어냅니다. 잠시 동안 이것을 모니터링하고 이 스레드에 대한 피드백을 제공하겠습니다. 현재 650Mb입니다. 나는 아무것도 변경하지 않고 계속 실행합니다. Doerk Hilger 2016.04.28 07:25 #12 gr101 : 피드백을 주셔서 감사합니다. Windows 10으로 업그레이드하고 차이가 있는지 확인하겠습니다. 당신은 루프에 집중하고 있습니다. EA에서 또 무엇을 사용합니까? 다른 컨트롤보다 그래픽 컨트롤 이 있습니까? gr101 2016.04.28 10:36 #13 스레드의 앞부분에 있는 스크립트는 전체 EA(ForumQuestion1.mq5)이며 메모리를 밀어 올리는 것입니다. EA에는 다른 작업이 없습니다. 그래픽 컨트롤이 없습니다. gr101 2016.04.28 11:32 #14 안녕 알랭 첨부된 워드 문서를 참조하십시오. 이것은 Windows Azure에서 실행되는 Windows Server 2012 R2 인스턴스에서 가져온 것입니다. 그것은 새로운 기계(그래서 재미있는 소프트웨어나 아무것도 없음)이며 서유럽 데이터 센터에서 실행 중입니다. 시간이 지남에 따라 증가하는 사용 메모리는 ForumQuestion1.mq5 스크립트를 실행할 때도 발생합니다(이전 스레드에서). 다음은 오전 8시 40분에서 오후 14시 5분까지 74.1MB에서 379.9MB로 증가한 시간에 대한 분석입니다. 오전 8시 40분 74.1MB 방금 시작했습니다 . ForumQuestion1 EA 오전 9시 53분 281.6MB 오전 10시 30분 297.2MB 오전 11시 23분 319.3MB 12:23pm 343.5MB 오후 13시 369.1MB 오후 14:05 379.9MB 파일: Server_2012_R2_.zip 296 kb Metatrader 5 - Takes 귀찮게 할 가치가 있습니까? EURUSD - 동향, 예측 Daniela Bluemel 2016.04.28 11:41 #15 나는 이것이 정상이라고 생각합니다. 내 MT4는 지금 1GB 램에 있습니다 Alain Verleyen 2016.04.28 11:48 #16 Daniela Bluemel : 나는 이것이 정상이라고 생각합니다. 내 MT4는 지금 1GB 램에 있습니다 이 주제는 MT5 다니엘라에 관한 것입니다. Daniela Bluemel 2016.04.28 11:49 #17 Alain Verleyen : 이 주제는 MT5 다니엘라에 관한 것입니다. 예 알아요. 하지만 제 MT4도 같은 동작을 합니다. gr101 2016.04.28 19:56 #18 해결 방법을 찾았습니다 ... 예쁘지는 않지만 작동합니다. 해결 방법: 메모리를 확인 하는 PowerShell 스크립트를 실행합니다. 60% 이상이 되면 MetaTrader를 다시 시작합니다. 스크립트는 아래에 있습니다. 나는 그것을 테스트하느라 바쁩니다. 단계: Windows에서 시작을 클릭합니다. "PowerShell ISE"를 입력합니다. 아래 스크립트를 잘라내어 텍스트 편집기에 붙여넣습니다. 재생(또는 PS1 파일로 저장하고 명령 프롬프트에서 실행하지만 아직 테스트 중이므로 지금은 PowerShell ISE에서 실행)을 누릅니다. 스크립트는 메모리가 300MB를 초과하면 Metatrader(terminal64)를 다시 시작합니다(작업 관리자의 메모리 열에 따라): ################################################################# strict-mode cls $memoryThresholdInKiloBytes = 300000 $cooldownSeconds = 30 $loopPauseInSeconds = 30 $counter = 0 while($true){ if($counter -gt 1000){ cls } #write-host "$(get-date) Checking memory in use... counter=$counter" $processPrivateSet = Get-Counter "\Process(terminal64)\Working Set - Private" $wsPrivateKiloBytes = $processPrivateSet.CounterSamples[0].CookedValue / 1KB $memoryLabel = $wsPrivateKiloBytes.ToString('## ### ###') + " K" write-host "$(get-date) Kilo Bytes in use $memoryLabel" if($wsPrivateKiloBytes -gt $memoryThresholdInKiloBytes){ write-host "$(get-date) Over threshold of $memoryLabel closing metatrader" # Close metatrader (terminal64) Get-Process terminal64 | Foreach-Object { $_.CloseMainWindow() | Out-Null } | stop-process –force # Give time to shutdown write-host "$(get-date) Shutting down cooldown of $cooldownSeconds seconds #####################" start-sleep -Seconds $cooldownSeconds # Open metatrader write-host "$(get-date) Opening metatrader again and wait $cooldownSeconds seconds" &"C:\Program Files\MetaTrader 5\terminal64.exe" start-sleep $cooldownSeconds } start-sleep -Seconds $loopPauseInSeconds $counter = $counter + 1; } # Links # http://stackoverflow.com/questions/33344611/get-memory-private-working-set-of-process Carl Schreiber 2016.04.28 20:10 #19 TerminalInfoInteger 로 TERMINAL_MAXBARS 를 설정하려고 했습니까? (..) 합리적인 작은 값으로? 그 외에도 다음이 있습니다. TERMINAL_MEMORY_PHYSICAL 시스템의 물리적 메모리, Mb 정수 TERMINAL_MEMORY_TOTAL 터미널의 프로세스에 사용 가능한 메모리 , Mb 정수 TERMINAL_MEMORY_AVAILABLE 터미널 프로세스의 여유 메모리, Mb 정수 TERMINAL_MEMORY_USED 터미널에서 사용하는 메모리 , Mb 정수 문제의 핵심이 어디에 있는지 확인 합니다. Frederic Metraux 2016.04.28 22:20 #20 내 2 센트는 "삭제 기호"만으로 메모리를 해제하지 않는다는 것입니다. 이 시도: delete symbols; symbols= NULL ; 1234 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
나는 Windows Server 12 R2에 그것을 넣었고 그것은 또한 메모리를 밀어냅니다.
잠시 동안 이것을 모니터링하고 이 스레드에 대한 피드백을 제공하겠습니다.
현재 650Mb입니다.
나는 아무것도 변경하지 않고 계속 실행합니다.
피드백을 주셔서 감사합니다.
Windows 10으로 업그레이드하고 차이가 있는지 확인하겠습니다.
스레드의 앞부분에 있는 스크립트는 전체 EA(ForumQuestion1.mq5)이며 메모리를 밀어 올리는 것입니다. EA에는 다른 작업이 없습니다.
그래픽 컨트롤이 없습니다.
안녕 알랭
첨부된 워드 문서를 참조하십시오. 이것은 Windows Azure에서 실행되는 Windows Server 2012 R2 인스턴스에서 가져온 것입니다. 그것은 새로운 기계(그래서 재미있는 소프트웨어나 아무것도 없음)이며 서유럽 데이터 센터에서 실행 중입니다.
시간이 지남에 따라 증가하는 사용 메모리는 ForumQuestion1.mq5 스크립트를 실행할 때도 발생합니다(이전 스레드에서).
다음은 오전 8시 40분에서 오후 14시 5분까지 74.1MB에서 379.9MB로 증가한 시간에 대한 분석입니다.
오전 8시 40분
74.1MB
방금 시작했습니다 . ForumQuestion1 EA
오전 9시 53분
281.6MB
오전 10시 30분
297.2MB
오전 11시 23분
319.3MB
12:23pm
343.5MB
오후 13시
369.1MB
오후 14:05
379.9MB
나는 이것이 정상이라고 생각합니다. 내 MT4는 지금 1GB 램에 있습니다
이 주제는 MT5 다니엘라에 관한 것입니다.
해결 방법: 메모리를 확인 하는 PowerShell 스크립트를 실행합니다. 60% 이상이 되면 MetaTrader를 다시 시작합니다.
스크립트는 아래에 있습니다. 나는 그것을 테스트하느라 바쁩니다.
단계:
스크립트는 메모리가 300MB를 초과하면 Metatrader(terminal64)를 다시 시작합니다(작업 관리자의 메모리 열에 따라):
TerminalInfoInteger 로 TERMINAL_MAXBARS 를 설정하려고 했습니까? (..) 합리적인 작은 값으로?
그 외에도 다음이 있습니다.
TERMINAL_MEMORY_PHYSICAL
시스템의 물리적 메모리, Mb
정수
TERMINAL_MEMORY_TOTAL
터미널의 프로세스에 사용 가능한 메모리 , Mb
정수
TERMINAL_MEMORY_AVAILABLE
터미널 프로세스의 여유 메모리, Mb
정수
TERMINAL_MEMORY_USED
터미널에서 사용하는 메모리 , Mb
정수
문제의 핵심이 어디에 있는지 확인 합니다.
내 2 센트는 "삭제 기호"만으로 메모리를 해제하지 않는다는 것입니다.
이 시도: