Azure Function发布遇Exit code:137错误,求内存扩容或解决方案
解决Azure Function发布时内存不足导致依赖安装失败的问题
内存扩容方法
- 升级服务计划:将当前的消费计划切换为高级计划(Premium Plan)或专用计划(Dedicated Plan)。这两类计划支持更高的内存配置,比如高级计划的EP1实例提供3.5GB内存,EP3可达14GB;专用计划可选择更大规格的VM。在Azure门户的Function App页面,进入「配置」->「常规设置」即可调整实例大小。
其他替代解决方案
- 本地预构建依赖后上传
- 本地创建Python虚拟环境,执行
pip install -r requirements.txt完成所有依赖安装。 - 将生成的
.python_packages文件夹与Function代码一起打包,使用命令func azure functionapp publish myFunc --no-build发布,跳过远程构建流程。
- 本地创建Python虚拟环境,执行
- 优化依赖包
- 若无需GPU支持,将requirements.txt中的
torch替换为torch-cpu,大幅减小包体积,降低安装时的内存占用。 - 清理requirements.txt中未使用的冗余依赖,仅保留
langchain、azure-functions等必要包。
- 若无需GPU支持,将requirements.txt中的
- 调整构建内存限制
在Azure门户的Function App中添加应用设置ORYX_BUILD_MEMORY_LIMIT_MB,设置更高的内存阈值(如8192,即8GB),为Oryx构建过程分配更多内存。 - 分阶段安装依赖
本地分步骤安装依赖:先单独安装大体积包(如torch),再安装其他小依赖,避免同时下载多个大文件导致内存耗尽,完成后打包上传至Function App。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

