Open renardbebe opened 1 year ago
应该是你代码的问题。 你的TASK虽然是全局的,但是每次初始化,都会生成一个新的TASK对象,所以内存才会高。
你试着判断TASK为空,来加载TASK试试。
@tim20112017 你好,感谢回答。我们这里是封装了一个rpc服务,预期功能是TaskFlow在服务启动时初始化一次,之后多次持续在rpc接口响应逻辑中被调用进行推理。
这段代码中,模型初始化(load_model)只会执行一次,服务端日志也确认只被调用了一次。
且我尝试在TASK = Taskflow(...)
之前加了if TASK is None:
后,启动服务并持续多次调用时,仍然出现内存持续稳定增长的情况。
我也遇到了这个问题,显存不能正常释放。有解决的嘛?
推荐用户使用fastdeploy的方式,支持高并发。fastdeploy UIE服务化部署链接:
https://github.com/PaddlePaddle/FastDeploy/blob/develop/examples/text/uie/README_CN.md?plain=1
适用了使用fastdeploy的方式部署,还是有显存不断增长的问题
系统环境
软件环境
问题描述
构建了一个uie识别的rpc服务,服务内通过global定义了全局TASK,rpc接口每次会调用Taskflow进行推理。 在客户端持续发送请求的过程中发现,服务端的GPU显存稳定,但cpu memory以每分钟0.01GB的速度稳定增加,截止观测时间点,cpu内存从2G一直增长到13G+。在注释了对TASK的调用后,cpu内存保持稳定,不再增长。
复现代码片段
辛苦开发团队帮助进行确认和排查,目前这个问题比较影响使用,万分感谢🙏