[DANGER] 核心故障现象
Clash 客户端在一周内生成了 380GB 的 .log 日志文件,险些撑爆硬盘。

案发环境:

  1. 高负载:浏览器后台挂着 40+ 个网页。
  2. 网络状态:物理断网,但软件未退出。
  3. 致命设置:Log Level (日志等级) 设置为 Info。

核心问题

Q:为什么在电脑断网且无人工操作的情况下,Clash 还能产生数百 GB 的数据写入?

1. 原因分析:无限报错死循环

这是一个典型的由 “断网 + 激进日志等级” 引发的连锁反应:

  1. 浏览器重试机制:后台挂着的 40 个网页(包含 Ajax/WebSocket 脚本)检测到网络不通,开始毫秒级地疯狂发起 重连请求。
  2. Clash 被动响应:Clash 接收这些请求 -> 尝试连接代理节点 -> 因物理断网失败 -> 返回错误。
  3. Info 等级的代价:在 Info 模式下,Clash 忠实地记录了每一次“收到请求”和“连接失败”。
  4. 指数级增长:40 个网页 × 每秒多次重试 × 每次几行日志 = 每秒数千行写入。长时间积累导致体积失控。

2. 解决方案:Log Level 设置原则

为了防止此类事件再次发生,必须正确设置 Log Level (日志等级)。

[SUCCESS] ✅ 推荐设置:Silent (静默)
日常使用请锁死此选项。
等级含义行为特征适用场景硬盘占用
Silent静默哑巴模式。除非程序崩溃,否则不记录任何日志。99% 普通用户日常使用极低 (0KB)
Warning警告管家模式。只有节点挂了、配置错了才记录。强迫症或轻度排查低
Info信息话唠模式。记录每一次握手、传输、断开。仅限临时排查网络故障极高 (高风险)
Debug调试疯子模式。记录一切数据细节。开发者修 Bug爆炸

3. 操作步骤

  1. 紧急止血:彻底退出 Clash -> 物理删除那个 380GB 的 .log 文件。
  2. 修改配置:进入 Clash 设置页面(Settings)或编辑 .yaml 配置文件。
  3. 锁定设置:将 Log Level 修改为 Silent。
[TIP] 经验总结
日常使用选 Silent,排查问题才开 Info,问题解决后必须马上改回 Silent。

本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/Network