SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)

SOPHGO SE5-16微服务器内置SDK版本与算法应用交叉编译版本不一致导致Linux service启动算法应用报错

  1. 问题描述
  2. 使用过程
  3. 解决方案


1. 问题描述

SOPHGO SE5-16微服务器系统自带的是2.3.0 sdk版本,算法应用使用的是2.7.0的sdk版本交叉编译,把2.7.0的库拷贝到了指定目录,通过LD_LIBRARY_PATH设置了环境变量,手动运行主程序可以工作,测试功能也都正常;但是把主程序运行的脚本放到linux service中,就会报错:

error:(-224:Unknown error code -224) pci bm_malloc_device_bvte_heap failed in function ‘pciDeviceMalloc’

2. 使用过程

  1. 开发环境SDK版本: 2.7.0_20220104

  2. 盒子型号: SE5-16

  3. 盒子运行时SDK版本:

手动启动的命令:

sh gktLoop.sh

service启动的配置:
主程序运行脚本:gktLoop.sh

SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)_第1张图片

报错日志截图:

df -h命令的输出截图: 

SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)_第2张图片

df -i命令的输出截图:

SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)_第3张图片

bm-smi的输出截图: 

SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)_第4张图片

ION内存情况:
NPU内存使用情况:
Summary:
[0] npu heap size:4210032640 bytes, used:0 bytesusage rate:0%, memory usage peak 0 bytes
VPU内存使用情况:

SOPHGO SE5微服务器内置SDK版本与算法应用交叉编译SDK版本不一致导致service启动算法应用报错 error:(-224:Unknown error code -224)_第5张图片

VPP内存使用情况:
Summary:
[1] vpp heap size:4160749568 bytes, used:3157884928 bytesusage rate:76%, memory usage peak 3183796224 bytes

3. 解决方案

经排查,为打开文件描述符的最大值不够所致,导致ion管理的内存无法分配,程序出错。
当手动启动脚本时,ulimit设置的值足够大,程序可正常运行;对于
systemd service的资源限制,设置的值不能生效,可在启动脚本中增加设置命令:ulimit -n 20480。然后再运行程序即可。

————————————————
版权声明:本文遵循CC 4.0 BY-SA版权协议。
原文链接:https://blog.csdn.net/weixin_44087610/article/details/126390067

 

 

 

 

你可能感兴趣的:(SOPHON,SDK常见问题,服务器,运维,算法)