Azure Functions Premium应用Kudu报告本地存储空间不足如何排查
Azure函数应用本地存储空间异常占用排查方案
操作步骤
1. 通过Kudu调试控制台定位大文件
- 进入Azure门户对应函数应用管理页,在左侧菜单栏找到「高级工具」选项,点击「前往」进入Kudu管理界面
- 点击顶部导航栏的「Debug console」,可选择PowerShell或CMD模式
- 进入存储根目录
D:\home,执行对应命令按大小排序查询文件占用:- PowerShell命令:
Get-ChildItem -Recurse | Measure-Object -Property Length -Sum | Select-Object @{Name="Path";Expression={$_.FullName}},@{Name="Size(MB)";Expression={[math]::Round($_.Sum/1MB,2)}} | Sort-Object -Property "Size(MB)" -Descending | Select-Object -First 20- CMD命令:
命令执行后会输出前20个占用空间最大的文件/文件夹,可直接定位到具体占用来源。dir /s /o:-s
2. 优先排查高概率占用目录
- 日志目录:
D:\home\LogFiles存储函数运行日志、IIS日志、调试日志,若开启了全量调试日志采集,会快速产生大量日志文件,是最常见的占用来源 - 临时文件目录:
D:\local\Temp存储函数运行时产生的临时文件,若业务代码存在临时文件生成后未自动清理的逻辑,会持续占用存储空间,该目录下文件可直接删除释放空间 - 部署目录:
D:\home\site\wwwroot存储函数代码包、静态资源文件,多次部署残留的旧版本包、未清理的测试资源也会产生大量占用 - 持久函数状态目录:若使用Durable Functions,默认会在本地存储运行实例快照,实例量大时会产生高额占用,可修改配置将状态存储到独立的Azure存储账户中降低本地存储压力。
异常修复建议
- 若存储空间已耗尽导致应用无法启动,可先在Kudu控制台删除大日志、临时文件快速释放空间,恢复业务后再优化定期清理逻辑
- 在函数应用配置中添加参数
WEBSITE_DISABLE_SCM_SEPARATION = 1,可让Kudu进程与主应用进程共享配额统计规则,解决Azure门户配额页不显示存储使用率的问题。
问题相关截图

内容的提问来源于stack exchange,提问作者baouss
相关产品推荐
相关产品推荐

