LabVIEW最大内存块属性不存在
在NI Linux实时操作系统目标中使用系统属性节点和分布式系统管理器(DSM),但遇到一些问题:
它未正确报告系统上的可用物理内存量。
在NI Linux实时系统上出现错误-2147220623
尝试在NI Linux实时上监测RAM的使用情况
使用最大内存块属性
错误-2147220623发生在无法识别的位置
可能原因:
NI系统配置:此资源不存在该属性。
解决方法
要监测NI Linux实时目标上的内存使用情况,可以使用System Exec VI在Linux shell中运行命令。命令cat/proc/$(pidoflvrt)/status|grepRSS返回LabVIEW进程的驻留集大小(驻留集大小给出分配给进程的内存量)。
注意:这不会报告整个操作系统的总内存使用情况,整个操作系统有自己的内存消耗进程。这种内存监视方法主要用于检测内存泄漏。
可以使用NI Linux实时系统设备设置LabVIEW项目并创建类似下面框图的VI。
附加信息
在NI Linux Real-Time OS目标上,系统配置API的可用物理内存属性节点以及分布式系统管理器无法准确说明设备上的可用物理内存。Linux设备上的内存管理和报告与运行Windows或VxWorks等操作系统的目标有很大不同。由于Linux操作系统如何处理内存管理和报告,因此可能很难获得系统内存使用情况的简单说明。但是,可以使用Linux操作系统提供的工具来准确监视实时设备上的内存使用情况。为了准确了解内存使用情况,NI Linux可以查看使用最多内存的设备上的进程。当NI Linux部署使用LabVIEW实时模块编写的实时应用程序时,NI Linux预计LabVIEW进程会使用最大的内存。
在NI Linux实时操作系统上,您还可以直接从目标打开/proc/meminfo获取有关实时目标上内存使用情况的有用信息。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。