Files
xyzw_web_helper/MD说明文件夹/紧急修复-内存占用过高6GB v3.11.14.md
2025-10-17 20:56:50 +08:00

7.3 KiB
Raw Permalink Blame History

紧急修复内存占用过高6GB+v3.11.14

📋 更新时间

2025-10-08

🚨 紧急问题

用户反馈

内存占用6220MB6.2GB)⚠️⚠️⚠️
开发者工具:开启
状态:内存持续增长

根本原因

主要原因

  1. 开发者工具开启 → 内存翻倍+
  2. 批量日志启用 → 控制台积累大量日志
  3. 高并发 + 长时间运行 → 内存泄漏累积

内存占用分解

基础内存:       ~500MB
Token数据700个~300MB
日志缓存:       ~2000MB开发者工具
控制台渲染:     ~2000MB日志过多
其他开销:       ~1000MB
------------------------------------
总计:           ~6000MB6GB

已实施的紧急修复

1 关闭批量日志

位置: src/stores/batchTaskStore.js 第17行

// 修改前
const ENABLE_BATCH_LOGS = true  // 启用日志

// 修改后
const ENABLE_BATCH_LOGS = false  // ⚠️ 关闭日志以减少内存

效果: 减少控制台日志输出降低内存占用约2GB ⬇️


🚀 立即行动(重要!)

步骤1关闭开发者工具最重要

按 F12 关闭开发者工具
或点击 × 关闭控制台

⚠️ 开发者工具会让内存翻倍!

效果: 内存立即减少 2-3GB ⬇️


步骤2刷新页面

1. 按 Ctrl + Shift + R强制刷新
2. 等待页面加载完成
3. 不要打开开发者工具!

效果: 清空内存,重新开始


步骤3降低并发数

批量自动化页面
设置并发数3-5不要超过10

效果: 减少同时运行的WebSocket连接


步骤4清理浏览器缓存可选

1. 按 Ctrl + Shift + Delete
2. 选择"缓存的图片和文件"
3. 清除
4. 重启浏览器

📊 内存占用对比

开发者工具影响

场景 控制台状态 内存占用
理想状态 关闭 ~800MB
日志关闭 开启 ~1.5GB ⚠️
日志开启 开启 ~6GB

并发数影响

并发数 内存占用 推荐
3 ~600MB 最稳定
5 ~800MB 推荐
10 ~1.2GB ⚠️ 可接受
20 ~2GB ⚠️ 谨慎
50 ~4GB 不推荐
100 ~6-8GB 风险高

💡 正确的使用方式

推荐配置(稳定优先)

并发数:      5-10
开发者工具:  关闭(除非需要调试)
日志:        关闭(已默认关闭)
浏览器:      只开这一个标签页

预期内存: 800MB - 1.5GB


⚠️ 调试配置(仅调试时)

并发数:      1-3
开发者工具:  开启
日志:        临时开启(需手动修改代码)
浏览器:      只开这一个标签页

预期内存: 1.5GB - 2.5GB ⚠️

⚠️ 调试完成后立即:

  1. 关闭开发者工具
  2. 刷新页面
  3. 恢复正常配置

不推荐配置(内存爆炸)

并发数:      >20
开发者工具:  开启
日志:        开启
浏览器:      多个标签页

结果: 内存 >6GB浏览器崩溃


🔧 如何安全调试

方法1只查看错误日志

// 不启用批量日志只看error和warn
console.error()  始终显示
console.warn()   始终显示
console.log()    被batchLog()过滤

优点: 内存占用低,能看到关键错误


方法2短时开启调试

1. 只选择1个token测试
2. 并发设为1
3. 临时启用日志(修改代码)
4. 开启开发者工具
5. 执行并观察日志
6. 测试完立即关闭工具
7. 恢复配置

优点: 可以看到详细日志,但不会长时间占用内存


方法3分批调试

调试阶段:
- 1个token开工具看日志
- 找到问题,修复

正式运行:
- 关闭工具,关闭日志
- 10+个token批量运行

📈 内存监控建议

Windows任务管理器

1. 按 Ctrl + Shift + Esc 打开任务管理器
2. 找到浏览器进程Chrome/Edge
3. 观察"内存"列

⚠️ 如果内存 >3GB
   - 立即关闭开发者工具
   - 降低并发数
   - 刷新页面

浏览器内存监控

1. 按 Shift + Esc浏览器任务管理器
2. 找到当前标签页
3. 观察内存占用

⚠️ 如果持续增长不释放:
   - 可能存在内存泄漏
   - 重启浏览器

🎯 优化后的预期效果

正常运行(关闭工具)

Token数 并发 内存峰值 执行时间
10 5 ~800MB ~2分钟
50 10 ~1.2GB ~8分钟
100 10 ~1.5GB ~15分钟
700 10 ~1.8GB ~70分钟7批

调试模式(开启工具)

Token数 并发 内存峰值 建议
1 1 ~800MB 可以调试
5 3 ~1.5GB ⚠️ 短时调试
10 5 ~2.5GB ⚠️ 不建议
50+ 任意 >4GB 禁止

⚠️ 重要警告

禁止操作

❌ 长时间开启开发者工具运行大批量任务
❌ 并发数超过20且开启工具
❌ 启用日志且开启工具且高并发
❌ 同时打开多个浏览器标签页

后果

内存爆炸 → 浏览器卡死 → 数据丢失 → 重启浏览器

📝 检查清单

运行前检查

[ ] 开发者工具已关闭
[ ] 并发数 ≤ 10
[ ] 日志已关闭(默认)
[ ] 其他标签页已关闭
[ ] 可用内存 >2GB

运行中监控

[ ] 任务管理器:浏览器内存 <2GB
[ ] 页面响应:流畅,无卡顿
[ ] 成功率:>80%

异常处理

如果内存 >3GB
[ ] 立即关闭开发者工具
[ ] 暂停批量任务
[ ] 刷新页面释放内存

如果浏览器卡死:
[ ] 强制结束进程
[ ] 重启浏览器
[ ] 降低并发数再试

🔄 版本历史

v3.11.14 (2025-10-08) - 紧急修复

  • 🐛 修复内存占用过高6GB+
  • 关闭:批量日志默认关闭
  • 📝 说明:添加内存管理指南

v3.11.13 (2025-10-08)

  • 增加:所有任务超时时间

v3.11.12 (2025-10-08)

  • 🐛 修复:任务全部失败
  • 放宽:连接和任务间隔

🎉 总结

内存占用6GB的根本原因

  1. ⚠️ 开发者工具开启 - 导致内存翻倍2-3GB额外占用
  2. ⚠️ 批量日志启用 - 控制台积累大量日志2GB额外占用
  3. ⚠️ 高并发运行 - 大量WebSocket连接1-2GB基础占用

解决方案

关闭开发者工具 - 立即减少2-3GB 关闭批量日志 - 减少2GB日志占用 降低并发数 - 减少基础内存占用 刷新页面 - 清空内存重新开始

正确使用方式

关闭工具 + 关闭日志 + 并发5-10 = 内存800MB-1.5GB ✅

开启工具 + 开启日志 + 高并发 = 内存6GB+ ❌

立即执行以下操作:

  1. 按F12关闭开发者工具(最重要!)
  2. 按Ctrl+Shift+R刷新页面
  3. 设置并发数为5-10
  4. 重新测试,观察内存

预期内存800MB - 1.5GB


如有问题,请告诉我:

  1. 关闭工具后的内存占用
  2. 是否仍有异常
  3. 任务执行是否正常

我会继续协助优化!🚀