【Azure App Service】App Service 遇见 not enough space on the disk

简介: App Service应用提示“磁盘空间不足”时,可通过PowerShell脚本快速统计c:\home和c:\local目录下各文件夹大小,定位大文件并删除,释放空间。

问题描述

使用App Service服务,应用中突然爆出异常 There is not enough space on the disk. (Exception from HRESULT: 0x80070070)。

面对这类错误,第一反应当然是需要找到占用磁盘的大文件或者大文件夹。然后,删除它。

只是,进入kudu站点才发现,文件层次太多,无法轻松找到。

于是,需要找到一段脚本,快速计算目录中文件夹大小。

 

问题解答

使用Powershell脚本,非常容易实现此目的。

## 计算文件夹大小的脚本:

$paths = Get-ChildItem -Directory
foreach ($p in $paths) {
    $size = (Get-ChildItem $p.FullName -Recurse -File -EA SilentlyContinue | Measure-Object Length -Sum).Sum
    "{0,-60} {1,12:N2} MB" -f $p.Name, ($size / 1MB)
}

只是,如果从根目录(比如C:\)开始计算,由于文件夹太多,计算还是要耗费很长时间。

针对App Service服务,可以只关注两个目录 c:\home 和 c:\local。

比如上图中,提示local文件夹中文件达到了637MB,层层深入,就可以定位到具体的大文件

接下来,就非常容易。如果需要,可以点击文件名左侧的第一个下载图标。如果不需要,点击第三个删除图标,删除文件。

 

 

参考资料

App Service Temporary files:https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system#temporary-files

 



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
5月前
|
Ubuntu 安全 Linux
CentOS与Ubuntu的深度对比与分析
Ubuntu更新频繁、文档丰富,适用于云服务与容器部署。 与CentOS的比较,Ubuntu基于Debian,而CentOS则源自RHEL。在软件包格式上,Ubuntu采用.deb和.snap,而CentOS则使用.rpm和flatpak。更新方面,Ubuntu使用apt,而CentOS则依赖yum。尽管CentOS以稳定性见长,不常对包进行更新,但这并不意味着Ubuntu在安全性上逊色。事实上,Ubuntu提供了更为丰富的文档和免费的技术支持。此外,Ubuntu的服务器版本在云服务和容器部署方面拥有更多的优势。
|
5月前
|
人工智能 并行计算 API
全网最全的GPT-5测评文章!1.8万字详细实战测评!国内直接使用!
OpenAI 发布了期待已久的 GPT-5,其在数学、编程、视觉理解和健康等领域表现卓越,推理能力媲美 Gemini 2.5 Pro,代码能力媲美 Claude 4。GPT-5 与 GPT-5-thinking 双模型协同工作,带来更高效体验。国内用户可通过指定平台直接访问,提供免费授权码体验。
1093 0
|
4月前
|
Java API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
257 3
|
9月前
|
存储 安全 数据安全/隐私保护
【Azure Function App】在Function App中使用System Managed Identity访问Storage Account
本文介绍了如何在Azure Function中使用托管身份(Managed Identity)替代AzureWebJobsStorage连接函数应用到存储账户,以提高安全性并减少Access Key的使用。具体步骤包括:1) 启用系统分配的身份;2) 为函数应用授予存储访问权限,添加必要角色(如Storage Blob Data Contributor);3) 配置`AzureWebJobsStorage__blobServiceUri`参数指定Blob Service Uri。完成后删除旧配置,即可通过Managed Identity访问Storage Account。
279 19
|
5月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
259 5
|
7月前
|
NoSQL 网络协议 Java
【Azure Redis】Redis服务端的故障转移(Failover)导致客户端应用出现15分钟超时问题的模拟及解决
在使用 Azure Cache for Redis 服务时,因服务端维护可能触发故障转移。Linux 环境下使用 Lettuce SDK 会遇到超时 15 分钟的已知问题。本文介绍如何通过重启 Primary 节点主动复现故障转移,并提供多种解决方案,包括调整 TCP 设置、升级 Lettuce 版本、配置 TCP_USER_TIMEOUT 及使用其他 SDK(如 Jedis)来规避此问题。
252 1
|
10月前
|
JSON 数据格式
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。
337 73