我自己第一反应也觉得可能是主力合约变换时旧合约数据接收没取消导致的,但是其实不是,程序一开始运行内存占用就不停攀升,不用等到主力合约变换,也跟踪了ts和kd变量的大小,始终是固定的,感觉有可能还是api内部哪里堆积了数据,这个自己就没法查了
windows系统运行没问题,应该是windows内存不足时会用硬盘当缓存,所以之前一直没发现,这两天在linux上运行就不行了,4g内存的debian服务器运行一小会就被kill了,日志显示内存溢出了。感觉还是要解决下,虽然在windows上能跑,性能肯定有影响
添加了内存监测的代码后,发现运行时内存占用快速增长,想了半天不知道问题出在哪里,这么简单的代码,会不会是tqsdk本身的问题,需要升级吗
这段回测代码为啥出现严重的内存泄漏,感觉没问题啊,就剩下最简单的数据接收部分,还是泄漏 from tqsdk import TqApi, TqSim, TqAuth from tqsdk import TqBacktest, BacktestFinished...
......\lib\site-packages\tqsdk\objs_not_entity.py:289: FutureWarning: In a future version, `df.iloc[:, i] = newvals` will attempt to set the values inplace instead of always setting a new array. To retain...
高手,确实是,把几个没成交量的合约删掉就可以了
用api.query_cont_quotes()读取全部品种的主力合约列表,共71个主力合约,想用api.get_kline_serial()函数调取这些主力合约的K线,发现symbol参数列表里超过两个就出错,用循环一个一个调也是调了两个后就出错,怎么解决啊?