问题现象
最近客户反馈,在网站无法更新内容,于是进入服务器发现系统盘已经无可用空间,找到临时文件被占用7G多。
默认 ECS Windows 创建时,系统盘的大小为 40 GB, 客户可以在购买时指定系统盘使用更大的空间,也可以在之后参考官方文档进行系统盘扩容。
1. 系统盘目录C:\windows\temp下不停产生新的cab_xxxx_x占用大量磁盘空间
2.系统盘目录C:\windows\logs\cbs下存在大量名称为cbspersistent开头的log文件和cab文件
问题原因
对于C:\windows\logs\cbs下存在大量名称为cbspersistent开头,后缀名为log的文本文件,其中记录了Windows在安装补丁更新,角色和服务时所的日志信息。在log文件达到一定大小后,系统会自动打包该文件为cab包。而C:\windows\temp目录下名称类似cab_xxxx_x的文件则是打包时所产生的临时文件。
在上图中,可以看到C:\windows\logs\cbs存在时间戳为2015/12/9的一个2.1 GB的CbsPersistent_20151211070234的文件。该文件是创建镜像时,安装Windows补丁所记录的日志文件。而C:\windows\temp下时间戳为2015/12/11的cab_xxxx_x则是Windows打包该文件为CBS文件时所产生的临时文件。
如果客户依据该镜像所创建操作系统内存较小并且没有配置虚拟内存,则可能会因为缺少虚拟内存而打包失败,造成产生过多临时文件。您可以在系统日志中查看到2004事件。
具体可以参考知识点:
Windows虚拟内存不足的处理
help.aliyun.com/knowledge_detail.htm?knowledgeId=6696946
当前我们已经修复该问题,在新创建的镜像中删除不必要的日志文件和临时文件以避免上述问题。
但是如果您仍然遇到类似的问题,请您首先对系统盘、数据盘创建快照来避免如下解决方案可能带来的数据丢失。
方案1: 请您参考微软官方文档来清除不必要的临时文件
方案2:您也可以尝试手动删除
C:\windows\logs\cbs下cbspersistent开头的cab文件和log文件
C:\windows\temp目录下名称类似cab_xxxx_x文件
这个问题现在还没有特别的终极解决办法,只能定期清理下。
发表评论