利用生产者消费者结构进行信号采集,五分钟后提示内存不足
时间:10-02
整理:3721RD
点击:
程序框图如下,信号频率10k,采样频率1M,连续采样,每通道读取30000,板卡为NIpxi6115,采集五分钟左右,提示内存不足,有什么优化方法吗?因为采样频率关系到数据处理中插值精度,采样率不能再降低。需要程序跑7,8个小时左右,麻烦大家帮我看一下程序
图1 生产者循环
图2 消费者循环
图1 生产者循环
图2 消费者循环
据说公式节点比较慢!把它换掉试试吧。还有那个索引数组函数只要指定第一个索引,后面的都是递增的没必要+1.如果还是不行就看看其他地方有没有可以优化的。再不行就不要处理数据了直接存文件吧。采集完了再处理
生产者循环没什么问题,消费者循环中波形图是不是可以去掉,已经在生产者循环中显示波形了,1M数据的波形图刷新是很耗内存的。虽然不知道你是要实现什么功能,但消费者中的算法个人觉得还是可优化一下的。
监控一下消费者执行是不是比生产者慢?生产的太快,都来不及消费,当然会越积越多,内存就爆掉啦!
顶顶顶~~~~~~~~~~~~~~~~~~~~~
出队列的循环中算法台耗时导致队列中的数据没有及时读取,最终内存溢出。可以考虑优化算法程序,或者保存数据,做数据回放时再加算法处理。
真是非常非常非常有指导性的一片文章 非常好的
xuexi