以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  公式系统参数优化内存使用问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=165434)

--  作者:jimcnab
--  发布时间:2018/9/9 11:06:00
--  公式系统参数优化内存使用问题

机器配置: CPU  i5  内存 8G

进行参数优化测试时,只运行金字塔,无其他程序运行,优化开始前可用内存5G

 
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 

总共优化数据量大概100000根K线,优化选择 节省内存运行模式。

 


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

 

优化大概300次后,可用内存变为2G,金字塔出现内存不足报警,优化无法继续。

 


图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

 

 

问题:

1. 为何在可用内存还有2G时金字塔就出现内存不足报警?

 

2. 优化已经选择“节省内存运行模式”,金字塔只需保存每次优化的最终结果,而不必保存其他数据,每优化完一次都可以释放内存,理论上来说每次优化占用内存极少,为何优化300次就已经用了3G内存,10000次的优化按这个比例即使100G内存也无法完成。



[此贴子已经被作者于2018/9/9 11:07:54编辑过]

--  作者:无为剑
--  发布时间:2018/9/9 23:56:53
--  
要看你的PEL公式是如何编写的了,如果你里面使用了大量的跨周期指标和数据引用,那么是非常消耗内存的。
另外你只看到了活动内存,没有看到处于虚拟内存下的不常活动内存,需要2个加起来才是金字塔的实际使用内存。
为了减小大内存使用时出现的崩溃异常,金字塔不会把你的机器内存全部都消耗完毕才报警,必须留一些内存给操作系统还有其他软件,否则你的计算机可能会蓝屏。
建议你升级你的机器内存或者查找PEL公式的编写问题,找出消耗内存的原因

--  作者:jimcnab
--  发布时间:2018/9/11 21:23:01
--  
1. 内存还有2G就报出现内存不足报警,停止优化,这预留的也太多了吧。

2.公式中是有大量的跨周期指标和数据引用,优化时单次测试消耗大量内存可以理解。但优化已经选择“节省内存运行模式”,金字塔只需保存每次优化的最终结果,而不必保存其他数据,每优化完一次都可以释放内存,假如单次测试要100M内存,每次测试完后也应该是可以释放掉的,不应该随着优化次数的增加而增加。

现在观察到的现象是随着优化次数的增加内存使用线性增长,基本上是优化进行到100次时使用1G内存,200次时使用2G,300次时使用3G。
[此贴子已经被作者于2018/9/11 21:23:18编辑过]

--  作者:无为剑
--  发布时间:2018/9/11 21:52:09
--  
请问你是32位金字塔还是64位呢?
--  作者:jimcnab
--  发布时间:2018/9/14 10:35:38
--  
 64位 WIN7  专业版



--  作者:无为剑
--  发布时间:2018/9/14 12:05:48
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=140417&page=1&star=1 这里有相关解释
重点参考 常见问题1、为什么我的内存还有剩余,但是在64位金字塔确报无内存可用了?

--  作者:jimcnab
--  发布时间:2018/9/16 12:06:39
--  
 优化已经选择“节省内存运行模式”,内存使用仍随着优化次数的增加而大量增加,按这个使用量优化1000次 10G内存都不够,这个影响更大,怎么解决?