问题背景:
我是在预生产环境部署算法模型时遇到了这个问题,最重要的是,相同的代码和环境(用的容器)在开发环境中,没有出现任何问题,但当部署到预生产中就报错了,网上一查,解决办法寥寥无几。
所以我解决了,准备记录一下,供来者参考。
原因:
内存不够。当程序所需要的内存超出了限定范围时,则会报此错误。在我的问题中,是因为开发环境中没有资源限制,而预生产环境中进行了内存限制,导致加载预训练的模型时,内存不够。
解决办法:
1.增加可供程序使用的内存;
2.优化程序,减少内存消耗。
3.如果程序中有用多进程,如gunicorn,则应减少进程数。