怎么排查Windows服务器中由于日志写满导致的系统死锁

小婷酱_9840

小婷酱_9840

2026-04-29

406人浏览

原创

日志写满不会直接引发系统级死锁,但会导致磁盘I/O阻塞、服务崩溃、资源争抢加剧,最终表现为进程卡死和响应停滞;排查应聚焦磁盘空间耗尽与服务异常,分四步:确认日志满(如fsutil查C盘剩余字节)、快速释放空间(事件查看器清除日志)、定位高产日志源(按来源排序+资源监视器查高IO进程)、设置日志生命周期策略(限大小、启覆盖、移目录、配滚动)。

日志写满本身不会直接引发系统级死锁,但它会触发一系列连锁反应——磁盘i/o阻塞、服务崩溃、资源争抢加剧,最终表现为进程卡死、响应停滞、甚至类似死锁的假象。排查的关键不是找“死锁”,而是定位日志满引发的资源耗尽与服务异常。

第一步:确认是不是日志真的满了

系统盘空间耗尽是首要信号。打开命令提示符(管理员),运行:

  • df -h(若为WSL环境)或更常用:df / 不适用,改用 Windows 原生命令
  • fsutil volume diskfree C: —— 查看C盘剩余字节,若Available Bytes接近0,基本可断定磁盘已满
  • dir /s C:\Windows\System32\winevt\Logs\ —— 查看事件日志存储目录大小(尤其关注 Archive-*.evtx 文件)
  • du -sh C:\inetpub\logs\* C:\ProgramData\Microsoft\Windows\WER\ReportArchive\* —— 若有IIS或WER报告大量堆积,也可能是元凶

第二步:快速释放空间并锁定日志源头

先保业务可用,再查根因:

  • 打开事件查看器(eventvwr.msc)→ Windows 日志 → 系统,筛选“错误”和“警告”,重点看ID 1001(WER崩溃)、ID 6008(意外关机)、ID 7031(服务意外终止)——这些常伴随磁盘满出现
  • 检查C:\Windows\System32\LogFiles\(IIS)、C:\Windows\Temp\、C:\ProgramData\Microsoft\Search\Data\等隐蔽大日志区
  • 右键点击“应用程序”“安全”“系统”等日志 → “属性” → 查看“最大日志大小”,若设为“不限制日志大小”且长期未轮转,极易撑爆磁盘
  • 对已满的日志文件,不建议直接删:先右键对应日志 → “清除日志”,或勾选“按需覆盖事件”后点确定,既腾空间又保留配置

第三步:识别日志暴增背后的服务或应用

日志不是自己长大的,一定有源头在疯狂输出:

windows-screenshot-ocr
windows-screenshot-ocr

Windows全屏截图(自动标记鼠标位置)+ 原生OCR文字识别。本地运行,无需联网和API Key,适用于截图分析和自动化OCR场景。

下载
  • 在事件查看器中,按“来源”列排序,观察哪些条目数量异常高(如 IIS-IISManager、WAS、ASP.NET、Application Error 或第三方软件名)
  • 打开资源监视器(resmon.exe)→ 磁盘 → 排序“写入(字节/秒)”,找出持续高IO写入的进程(常见:svchost.exe 承载的某个服务、w3wp.exe、java.exe)
  • 结合进程PID,在任务管理器“详细信息”页右键 → “转到服务”,定位具体服务名称;再查该服务是否启用了调试日志、Verbose日志级别
  • 特别注意:.NET应用若开启system.diagnostics跟踪、Java应用Logback配置了CONSOLE + systemd的StandardOutput=journal,都可能间接导致journald(WSL)或EventLog暴涨

第四步:防止复发——设置日志生命周期策略

清一次不等于解决,必须建立自动管控:

  • 在事件查看器中,对每个关键日志(系统、应用程序、安全)右键 → “属性” → 设置合理上限(建议512MB以内),并启用“按需覆盖事件”
  • 对IIS日志:IIS管理器 → 服务器节点 → “日志” → 设置“日志文件最大大小”(如100MB)+ “日志文件目录”指向非系统盘
  • 对自定义应用:检查其日志配置(log4net、NLog、Serilog等),禁用Console.WriteLine式全量输出,启用滚动文件+压缩+过期删除
  • 定期执行清理脚本(PowerShell示例):wevtutil cl System /q:true(清空系统日志)或 Get-WinEvent -ListLog * | Where-Object {$_.RecordCount -gt 100000} | ForEach-Object { wevtutil cl $_.LogName }

本质上,这不是死锁问题,而是资源枯竭引发的系统雪崩。盯紧磁盘空间、锁定高产日志源、收紧日志策略,三步做完,卡顿自然消失。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3352

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1096

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

989

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

514

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3076

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5792

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

887

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习