VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 55
声望: 0

同样的参数,有时候能跑通,有时候会偶尔的卡住(估计是迭代的时候,一直在等待某个进程的反馈结果,但是某进程卡住了,所以导致一直都没log输出)。
我估计是某些参数,导致backtesting卡死了,但是因为是偶发的情况,我没法知道是什么参数导致的backtesting卡死,导致复现从而无法debug。
由于个人水平实在有限,看了半天代码也找不到可以设置超时退出的地方。希望官方能在下一个版本,加一个超时无反馈就退出,并且退出的时候最好能输出一个,现在的策略参数是多少,以便单独开一个backtesting复现这个参数为啥会导致卡死。谢谢

Administrator
avatar
加入于:
帖子: 4502
声望: 322

卡死的情况我们目前没有遇到过,如果确定能复现请提供下完整的报错截图

Member
avatar
加入于:
帖子: 55
声望: 0

用Python的交易员 wrote:

卡死的情况我们目前没有遇到过,如果确定能复现请提供下完整的报错截图

陈总,其实可能是我表述有问题。不是真正的卡死,CPU是基本没负载了,但是程序依旧在运行。我猜是某个特定的策略参数组合,导致了某个线程的backtesting卡住了。然后在迭代的时候,一直在等待这个线程的结果,但是这个线程卡死(或者说一直算不出来结果),然后就会导致程序的卡住(无log输出,然后CPU负载极低)。
同样的策略,同样的参数,同样的电脑,有时候能跑通,有时候就跑不出结果(正常跑到一半的时候,等几个小时,依旧无log输出),所以也没法复现。

Member
avatar
加入于:
帖子: 55
声望: 0

description

比如某一次,跑到这里,等了两个小时,也没继续输出,我也就手动关了,重新再跑一遍,但是重新再跑一遍,就能跑通

Member
avatar
加入于:
帖子: 4704
声望: 287

请问是不是跑的时候CPU负载太高,个别进程内存不够挂掉了?
可以去看看trader.optimize

Member
avatar
加入于:
帖子: 55
声望: 0

xiaohe wrote:

请问是不是跑的时候CPU负载太高,个别进程内存不够挂掉了?
可以去看看trader.optimize

xiaohe老师,你好,由于之前试过内存不够的情况,所以这次特意升级了电脑,总内存128G,跑起来的时候,加上系统,内存占用是108G,大约有17g-20G的剩余空间,这个冗余程度,估计某个线程因为内存不足挂掉的可能性较低。之前旧电脑试过,如果内存不够,Windows会杀MongoDB的进程,这几次MongoDB一直运行正常。

Member
avatar
加入于:
帖子: 55
声望: 0

再用了大半个月,似乎这个问题再也没有发生过,可能是我之前自己哪里出问题了。。。。。。

Member
avatar
加入于:
帖子: 55
声望: 0

情况描述:一个月后,我再改了下on_bar函数,再用遗传算法多进程优化,问题又复现了,有一次,是计算到640次的时候(就是种群已经迭代到第三代半)卡住了,有一次是计算到420次的时候(就是种群已经迭代到第三代半),而这次直接第一代种群都没迭代完就卡住了(函数只计算了46次)。
个人猜测:这个策略之前是跑通了回测和多进程参数回测的了,只是我最近改了一下on_bars函数和新增了一个参数,然后再跑,就出现问题了。我个人估计还是某个参数的某个数值,导致了On_bars上逻辑出错进而卡住。
请求帮助:当长时间没输出,进程没反应的时候,有没有啥办法可以输出这个时候该进程的参数吗?

description

description

description

Member
avatar
加入于:
帖子: 55
声望: 0

因为只有知道了这个出问题的参数,才能回去单进程回测里面核查到底哪里逻辑出了问题,不然肉眼真的发现不了

Member
avatar
加入于:
帖子: 4704
声望: 287

小刘小刘 wrote:

情况描述:一个月后,我再改了下on_bar函数,再用遗传算法多进程优化,问题又复现了,有一次,是计算到640次的时候(就是种群已经迭代到第三代半)卡住了,有一次是计算到420次的时候(就是种群已经迭代到第三代半),而这次直接第一代种群都没迭代完就卡住了(函数只计算了46次)。
个人猜测:这个策略之前是跑通了回测和多进程参数回测的了,只是我最近改了一下on_bars函数和新增了一个参数,然后再跑,就出现问题了。我个人估计还是某个参数的某个数值,导致了On_bars上逻辑出错进而卡住。
请求帮助:当长时间没输出,进程没反应的时候,有没有啥办法可以输出这个时候该进程的参数吗?

description

description

description
目前没有这个功能

Member
avatar
加入于:
帖子: 55
声望: 0

破案了,是跑回测的时候,同时运行其他程序,导致某一时刻,cpu占用超过了100%,刚好某个Python进程就卡死了。现在我自己跑回测,都是使用14进程(总16进程),就基本没事。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】