主题
🛠️ OpenClash 智选 (Smart) 报错深度解析与修复
摘要: 如果你的日志中出现了
Maximum file size limit reached (100 MB),说明你的“智能选路”脚本已经罢工,这正是导致你间歇性断网的元凶。
❌ 故障现象:报错与断网
如果在日志中发现以下条目: Maximum file size limit reached (100 MB), stopping data collection 这意味着: 你的数据收集已达上限,智选逻辑彻底失效。
🔍 为什么会报错?
这个报错源于订阅转换中自带的 SmartStore/Smart 脚本。该脚本会像“记事本”一样持续记录节点表现:
- 延迟 (Latency): 每次测速的实时响应。
- 稳定性: 节点是否频繁断连。
- 下载速度: 实际吞吐能力。
- 权重 (Weight): 脚本根据上述数据计算出的综合评分。
⚠️ 导致断网的底层逻辑
- 触碰硬上限: 为了防止
.csv日志文件无限增长撑爆路由器的 Flash 空间,脚本强制设置了 100 MB 的上限。 - 数据写不进去: 达到上限后,新数据无法存入,脚本发生逻辑死锁。
- 指令中断: “智选”分组无法获取“谁是当前最优节点”的指令,代理请求如同撞墙,表现为网页打不开或间歇性全断。
🛠️ 解决方案
方案 A:降级回稳(强烈推荐 ⭐⭐⭐⭐⭐)
操作建议: 换一个**不带“智能脚本”**的订阅转换模板。
理由: 对于 99% 的用户,内核自带的
url-test(自动择优)或fallback(故障转移)已经足够稳定且高效,完全不需要产生巨量缓存的第三方脚本。
方案 B:定期清理(保留脚本 ⭐⭐⭐)
如果你坚持使用该脚本,可以通过“计划任务”定期清空缓存文件。
进入 OpenWrt:系统 -> 计划任务。
添加以下命令(设定为每周一凌晨 4 点自动删除数据):
Bash
0 4 * * 1 rm -f /etc/openclash/smart_weight_data.csv
🔧 必须执行的清理步骤
为了彻底杜绝此问题,请检查并关闭以下隐藏开关:
1. 取消自动切换
- 进入:覆写设置 -> Smart 设置。
- 找到:
*Smart 策略自动切换*。 - 操作:取消勾选。
2. 停用并更新内核
- 进入:插件设置 -> 版本更新。
- 操作 1:找到 Smart 内核,点击 停用。
- 操作 2:找到 Meta 最新内核,点击 检查并更新。
- 提示:使用标准的 Meta (Mihomo) 内核更纯净、报错更少。

