建立600+和CPU的使用 - 页 3

 

我可以确认,MT4构建600以上(打开的图表、指标等数量与b509相同),内存占用可以达到三倍之多。

特别是在运行多个EA的时候;在b509的情况下,终端可能是60-100MB,但610版本在只有3-4个有EA的图表之后,就像160-200MB,而且图表中的最大条数"只有 "2000条。

 
4evermaat:

我可以确认,MT4构建600以上(打开的图表、指标等数量与b509相同),内存占用可以达到三倍之多。

特别是在运行多个EA的时候;在b509的情况下,终端可能是60-100MB,但是build 610在只有3-4个有EA的图表之后,就像160-200MB,而且图表中的最大条数 "只有 "2000条。


我的是~26MB,13个图表,设置和我之前的帖子一样。

图表中的最大条数 是5000条。 MT4版本625


我使用CleanMem,这可能对内存管理有帮助。)

 
RaptorUK:
我想是的,但我的笔记本一直开着


你是用笔记本电脑还是台式电脑?
 

昨天我注意到,几个小时后,内存使用量变小了。我有一个使用Windows2008(64位)的VMWare vps,运行在1个cpu和1024MB的内存上。我运行8个终端,有大约120个图表和8个EA。

终端确实有更多的cpu活跃度,但平均而言,它似乎保持在20%以下。当我启动我的终端时,他们每个终端使用约50MB至100MB。一天后,他们使用的数量大约是开始时的一半。我想知道为什么...

 
deysmacro:

我的是~26MB,13个图表,设置与我之前的帖子一样。

图表中的最大条数是5000条。 MT4构建625


我使用CleanMem,这可能对内存管理有帮助。)


我偶尔会使用Koshy John的MemClean,主要是为了追踪可用的内存。我只在内存开始接近最大可用内存时才 "清理 "它。如果事情保持这样,我就几乎没有必要使用它了。
burgie:

昨天我注意到,几个小时后,内存使用量变小了。我有一个使用Windows2008(64位)的VMWare vps,运行在1个cpu和1024MB的内存上。我运行8个终端,有大约120个图表和8个EA。

终端确实更加活跃,但平均而言,它似乎保持在20%以下。当我启动我的终端时,他们每个终端使用约50MB至100MB。一天后,他们使用的数量大约是开始时的一半。我想知道为什么...


我升级到MT4 B625,也将图表中的最大条数减少到1500。 我有一个终端,有8个EA,每个符号有4个图表。 它正在使用大约50MB。 在EA dll中存在一个错误,导致每一个tick 的空白弹出警报。我把市场观察设置为 "隐藏所有 "我目前不使用的符号。

一个不同的经纪人在MT4 b625上只有6个图表,却使用40MB。

事实上,mt4 b509在运行相同数量的图表和较少的EA时,实际上占用了更多的 内存。 大约70MB

我将继续观察这个情况,直到本周末,尽管我肯定会在这期间重新启动一些终端。 似乎MetaQuotes终于做对了一些事情。 让我们希望它保持这种状态。

 
alexey_pak:

你有笔记本电脑或台式电脑吗?
我两台都有,但我的CPU使用问题是指我的笔记本电脑,我还没有在我的台式机上试过。
 
RaptorUK:
我两个都有,但我的CPU使用率问题是指我的笔记本电脑,我没有在我的桌面上试过。


记住,cpu的使用总是不同的。1.8GHz和2.4GHz的cpu使用率是不一样的,无论你如何努力使其相同。

特别是如果cpu有超过1个核心。

 
deysmacro:

记住,cpu的使用总是不同的。1.8GHz和2.4GHz的cpu使用率不会相同,无论你如何努力使其相同。

特别是如果cpu有一个以上的核心。

也许你认为i7 2640M(2个核心,4个线程)在没有打开图表 的情况下运行MT4,7%的CPU使用率是可以的?我不 ... .
 
RaptorUK:
也许你认为,对于i7 2640M(2个核心,4个线程)来说,MT4在没有打开图表的情况下运行,7%的CPU使用率是可以的? 我不 ... .


那么,好吧。是的,这听起来很傻。
 

好吧,我的系统的一些信息。 我重新启动了它,应用了所有的Windows更新,并再次重启 ......

我想我应该看看任务管理器 ...... 有趣的是,它显示MT4(更新到628版本)使用0%的CPU ,所以我想这实际上与这里的大多数其他用户一致。......但实际情况是,如Sysinternals Process Explorer所示,它仍在使用约7%的CPU。

Measuring CPU Consumption

Older versions of Windows were able to track only an approximation of actual CPU usage. At a clock-generated interrupt that on most systems has a period of 15.6 milliseconds (ms), Windows identifies the thread currently executing on each CPU. If the thread is executing in kernel mode, its kernel-mode time is incremented by 15.6 ms; otherwise, its user-mode time is incremented by that amount. The thread might have been executing for only a few CPU cycles when the interrupt fired, but the thread is charged for the entire 15.6-ms interval. Meanwhile, hundreds of other threads might have executed during that interval, but only the thread currently running at the clock tick gets charged. Windows Task Manager uses these approximations to report CPU usage even on newer versions of Windows that have more accurate metrics available. Task Manager further reduces its accuracy by rounding to the nearest integer percentage, so processes with executing threads that consume less than 1 percent of CPU time are indistinguishable from processes that do not execute at all. Finally, Task Manager does not account for CPU time spent servicing interrupts or deferred procedure calls (DPCs), incorrectly including that time with the System Idle Process.

Procexp represents CPU usage more accurately than does Task Manager. First, Procexp shows per-process CPU utilization percentages rounded to a resolution of two decimal places by default instead of to an integer. Second, Procexp tracks the time spent servicing interrupts and DPCs and displays them separately from the Idle process. Finally, Procexp uses additional system metrics so that processes consuming small amounts of CPU can be identified and, when possible, provide a more accurate account of actual CPU consumption. Different metrics are available on Windows XP, Windows Vista, and Windows 7 and their corresponding server versions. Procexp takes advantage of whatever is available to report the most accurate measures possible.