需要帮助!无法解决这个问题,我遇到了硬件限制 - 页 3 12345678910...21 新评论 Andrew Petras 2014.08.15 12:06 #21 对不起,傻瓜,x64有限制吗? 这是我遇到的第一篇文章(好吧,不是第一篇,好吧)x64系统下SQL SERVER 2008的内存限制--基本吃多少内存就有多少。也许你应该试一试。ps也许有用移除32位Windows 8 / 8.1上的4GB内存限制 Alexey Navoykov 2014.08.15 12:46 #22 komposter:有大量的信息(大约20GB的文本文件)。那么,为什么是文本呢? 首先将数据转换成二进制形式不是更容易吗? 然后你可能得到一个合适的尺寸。令人沮丧的是,有这么多的信息... 如果是10G,我会把它移到RAM-磁盘(事实上是移到内存中),并尽可能多地读取。 TheXpert 2014.08.15 12:49 #23 meat:那么,为什么是文本呢? 首先将数据转换为二进制不是更容易吗? 然后你就会知道大小是否合适。 因此,看起来20G并不是极限。 [删除] 2014.08.15 13:05 #24 升级到64位版本--将提供高达16TB的内存。以二进制形式存储文件,以便更快地阅读。根据RAM的大小,分块处理文件。尽量对数据进行预处理,以消除重复的信息。 Vladimir Karputov 2014.08.15 13:14 #25 komposter:有大量的信息(大约20GB的文本文件)。...如果有必要把这些顺序过一遍,我会这样做。但你必须反复经历它们,每次都要往前移一点。...如果你把它们分成几块处理呢?读取两个区块,每个区块为1Gb。第一块被处理后,在下一次传递中,从第二块中添加"......向前移动一点"。同时切断第一块的开头(不再需要,因为它总是"......向前移动一点"。 当第二块读完第三块的时候--现在从第三块开始添加"......向前移动一点"。这样一来,RAM中总是有两个块(最大2GB),对硬盘的访问将减少一个数量级。 Andrew Petras 2014.08.15 13:20 #26 GT788:升级到64位版本--将提供高达16TB的内存。以二进制形式存储文件,以便更快地阅读。根据RAM的大小,分块处理文件。尽量对数据进行预处理,以消除重复的信息。这是什么轴/版本? 甚至XPpro x64也支持物理到128和虚拟到16TB。 [删除] 2014.08.15 14:30 #27 Silent:这是什么轴/版本? 甚至XPpro x64也支持物理到128和虚拟到16TB。 没错,我发现7的最大容量为192GB。 Eugeniy Lugovoy 2014.08.15 16:14 #28 komposter:有大量的信息(大约20GB的文本文件)。这些信息由同类的序列组成,大约有一百万个。有必要反复 浏览所有的序列,并进行一些计算。首先想到的是读取文件的所有内容,将其填充到结构数组中,并在内存中对其进行操作。但它出了问题,在下一次调整大小时,MT发誓说 "内存处理程序:不能分配5610000字节的内存"。Dispatcher显示terminal.exe使用了3.5GB的内存(16个物理的)。我想这是因为该进程只能得到4GB。EA说 "内存不足( 已用4007Mb,可用88Mb,共4095Mb)!!"。而这仅仅是所需金额的15.3%(而且我希望将来也能增加)。我已经没有想象力了。我是否应该尝试以这样的方式重新组成这些序列,使之产生许多片断,但每个片断只包含目前必要的信息?也尝试压缩数据(我已经在所有可以的地方用char类型转换为浮点数)?但这最多只能给我带来10-20%的收益,而我需要减少一个数量级的数量......。朋友们,有什么建议吗?我不会生锈)。而在使用该数据库的方向上有没有看?设置数据库,从一个文本文件中下载数据。你可以事先对数据进行任何汇总,以便将来进行计算。专家顾问的SQL查询。DBMS也可以放在一个单独的服务器上,以提高交易站的性能。 Andrey Khatimlianskii 2014.08.15 18:26 #29 非常感谢大家的参与!我现在周末不在线,但我一定会在早上回复大家,并尝试利用这些建议。 Andrey Khatimlianskii 2014.08.15 18:28 #30 elugovoy: 你是否考虑过使用一个数据库?建立一个数据库,从一个文本文件向其中加载数据。有可能事先进行某种数据汇总,以便进一步计算。然后从专家顾问那里进行SQL查询...DBMS可以安装在一个单独的服务器上以提高性能。想过了。我对意见感兴趣。康帕斯。另一个想法是--把所有东西都移到数据库(MySQL?我们的想法是,数据库是为这样的数量和不断的重新登录而准备的。有什么专家吗?谁有意见?与读取文件相比,会有什么加速,与在内存中工作相比,会有什么减速? 12345678910...21 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
对不起,傻瓜,x64有限制吗? 这是我遇到的第一篇文章(好吧,不是第一篇,好吧)x64系统下SQL SERVER 2008的内存限制--基本吃多少内存就有多少。
也许你应该试一试。
ps也许有用移除32位Windows 8 / 8.1上的4GB内存限制
有大量的信息(大约20GB的文本文件)。
那么,为什么是文本呢? 首先将数据转换成二进制形式不是更容易吗? 然后你可能得到一个合适的尺寸。
令人沮丧的是,有这么多的信息... 如果是10G,我会把它移到RAM-磁盘(事实上是移到内存中),并尽可能多地读取。
那么,为什么是文本呢? 首先将数据转换为二进制不是更容易吗? 然后你就会知道大小是否合适。
升级到64位版本--将提供高达16TB的内存。
以二进制形式存储文件,以便更快地阅读。
根据RAM的大小,分块处理文件。
尽量对数据进行预处理,以消除重复的信息。
有大量的信息(大约20GB的文本文件)。
...
如果有必要把这些顺序过一遍,我会这样做。但你必须反复经历它们,每次都要往前移一点。
...
如果你把它们分成几块处理呢?
读取两个区块,每个区块为1Gb。第一块被处理后,在下一次传递中,从第二块中添加"......向前移动一点"。同时切断第一块的开头(不再需要,因为它总是"......向前移动一点"。 当第二块读完第三块的时候--现在从第三块开始添加"......向前移动一点"。这样一来,RAM中总是有两个块(最大2GB),对硬盘的访问将减少一个数量级。
升级到64位版本--将提供高达16TB的内存。
以二进制形式存储文件,以便更快地阅读。
根据RAM的大小,分块处理文件。
尽量对数据进行预处理,以消除重复的信息。
这是什么轴/版本? 甚至XPpro x64也支持物理到128和虚拟到16TB。
这是什么轴/版本? 甚至XPpro x64也支持物理到128和虚拟到16TB。
有大量的信息(大约20GB的文本文件)。
这些信息由同类的序列组成,大约有一百万个。
有必要反复 浏览所有的序列,并进行一些计算。
首先想到的是读取文件的所有内容,将其填充到结构数组中,并在内存中对其进行操作。
但它出了问题,在下一次调整大小时,MT发誓说 "内存处理程序:不能分配5610000字节的内存"。
Dispatcher显示terminal.exe使用了3.5GB的内存(16个物理的)。我想这是因为该进程只能得到4GB。
EA说 "内存不足( 已用4007Mb,可用88Mb,共4095Mb)!!"。
而这仅仅是所需金额的15.3%(而且我希望将来也能增加)。
我已经没有想象力了。
我是否应该尝试以这样的方式重新组成这些序列,使之产生许多片断,但每个片断只包含目前必要的信息?
也尝试压缩数据(我已经在所有可以的地方用char类型转换为浮点数)?但这最多只能给我带来10-20%的收益,而我需要减少一个数量级的数量......。
朋友们,有什么建议吗?我不会生锈)。
而在使用该数据库的方向上有没有看?设置数据库,从一个文本文件中下载数据。你可以事先对数据进行任何汇总,以便将来进行计算。
专家顾问的SQL查询。
DBMS也可以放在一个单独的服务器上,以提高交易站的性能。
非常感谢大家的参与!
我现在周末不在线,但我一定会在早上回复大家,并尝试利用这些建议。
你是否考虑过使用一个数据库?建立一个数据库,从一个文本文件向其中加载数据。有可能事先进行某种数据汇总,以便进一步计算。
然后从专家顾问那里进行SQL查询...
DBMS可以安装在一个单独的服务器上以提高性能。
想过了。我对意见感兴趣。
另一个想法是--把所有东西都移到数据库(MySQL?我们的想法是,数据库是为这样的数量和不断的重新登录而准备的。
有什么专家吗?谁有意见?
与读取文件相比,会有什么加速,与在内存中工作相比,会有什么减速?