减少CPU占用
- 更新时间2025-05-20
- 阅读时长3分钟
本文档介绍如何减少RT终端上CPU的占用率。CPU的使用率在100%以下时,可降低抖动并确保应用程序无需抢占CPU时间。
请参考下列改进LabVIEW性能的建议:
- VI执行速度
- 大量数据的内存管理
合理的循环运行速度
在应用程序中以最快速度运行循环不可取,因为这样会导致不可预期的时间消耗、增加时间抖动,甚至引起系统死锁。例如,如用户界面数据循环的发布速度如超过了操作员可以处理的速度,循环就造成了CPU和RT终端资源的无意义消耗。在多数情况下,通过网络发布用户界面数据的频率为2 Hz至15 Hz。
避免过量使用并行算法
LabVIEW程序框图是可视化的流程图,易于并行化VI代码,有助于提高程序在多核系统上的性能。但是,大量使用并行算法会使LabVIEW创建和管理更多线程。额外的线程带来的系统开销会影响程序的性能。一般而言,并行算法仅能提高多核系统上程序的性能。
- 包含多个CPU内核的RT终端。
- 按顺序执行代码所需的总时间超出了执行最长并行分支加线程管理和切换系统开销的和值时间。
要确定某个VI是否能受益于并行算法,可能需要对VI的串行模式和并行模式进行基准测试。关于在多核RT终端上使用并行算法的信息,见在多CPU系统上优化RT应用程序。
理解网络发布共享变量的性能基准
网络发布的共享变量呈现了CPU使用、数据传输频率和应用程序中变量数量之间的线性关系。关于网络发布共享变量CPU性能的信息,见ni.com上的性能基准。网络发布的共享变量应主要用于低频率、最近值数据传输的应用程序。如要从一台计算设备发送连续数据流至另一台计算设备,可使用网络流函数。一般来说,如使用低数据传输频率,使用大量网络发布的共享变量不会过度使用CPU资源。如需通过减少网络发布的共享变量数量优化CPU使用,可考虑将各个数据项组合为数组或簇,通过一个网络发布的共享变量来传输该数组或簇。
必要时取消加载任务
在台式机或FPGA终端上取消加载特定任务,可减少RT终端上CPU的使用率。例如,在主机上,而不是RT终端上使用网络发布共享变量。
使用下列规范,为任务挑选最合适的设备:
| 任务 | 适合的设备 |
|---|---|
| 数据采集 | RT或FPGA |
| 控制循环 | RT或FPGA |
| 用于记录或监控目的的数据分析(离线分析) | 台式计算机 |
| 数据记录 | RT设备或台式计算机 |
| 主控网络发布共享变量 | 台式计算机或RT设备 |