内存优化
安全优化 Mac 内存占用、响应速度、发热和后台稳定性
Prompt
Prompt
优化当前 Mac 的内存占用、响应速度、发热和后台稳定性,包含一次启动项审计。
执行原则:
先诊断,再做最小可逆清理,最后复测对比。不要直接重启、退出登录、sudo、强杀系统核心进程、清空系统关键缓存、删除配置文件,或做任何不可恢复操作。
完成标准:
1. 给出 before/after 内存压力、可用内存、压缩内存、swap、Top 进程对比。
2. 清理明显无用的临时辅助进程、重复开发工具进程、残留 dev server 或孤儿进程。
3. 保留当前正在使用的浏览器、远程控制、VPN/代理、同步盘、输入法、安全软件、本地业务服务。
4. 启动项只做审计和建议;除非我明确确认,不要直接删除或禁用。
5. 最后确认没有留下本次诊断拉起的临时工具进程。
执行前保护要求:
1. 先检查当前是否有远程控制、代理/VPN、同步盘、会议、下载、Docker、IDE、浏览器、Codex、Chrome、ToDesk、Clash/Surge、企业管理软件等关键进程。
2. 对可能影响远程连接、网络代理、同步盘、开发服务、会议或当前工作的进程,只标记风险,不要直接停止。
3. 在启动新的长运行进程前,先检查是否已有等效进程在运行。
4. 尽量一次性采样,避免因为反复调用工具而拉起更多 Codex MCP、node_repl、浏览器自动化或诊断辅助进程。
诊断要求:
1. 跑 before 基准:
- memory_pressure
- vm_stat
- ps/top 按 CPU 和内存分别排序
- swap、压缩内存、pageins/pageouts
- 当前监听端口和本地 dev server
2. 区分这些情况:
- 真实内存不足
- macOS 正常文件缓存
- 内存压缩偏高
- swap 压力
- 单个进程泄漏
- 重复启动的辅助服务
- Spotlight/mds/mdworker、syspolicyd、trustd 等系统短时高 CPU
3. 检查高占用来源:
- 浏览器和 Renderer
- Electron 应用
- IDE
- Docker/虚拟机
- node/python/java/bun/deno
- AI/开发工具 MCP
- 下载器、网盘、同步盘
- 远程控制软件
4. 检查后台和启动项:
- 登录项
- LaunchAgents
- LaunchDaemons
- brew services
- 常驻开发服务器
- 自动同步服务
5. 记录 before:
- 总内存
- 可用内存百分比
- swap 情况
- 压缩内存
- Top 10 CPU 进程
- Top 10 内存进程
- 本地监听端口
- 启动项清单
清理要求:
1. 只执行安全、可逆、低风险操作。
2. 优先清理:
- 明显残留的 Codex MCP / browser automation / node_repl 辅助进程
- 无窗口且无任务的旧 node/python/java 进程
- 重复启动的临时 MCP 服务
- 已确认无用的本地 dev server
- 僵尸或孤儿进程
3. 不要直接停止:
- 当前浏览器主进程
- 远程控制
- VPN/代理
- 同步盘
- 输入法
- 安全软件
- 企业管理软件
- 正在监听且可能属于当前项目的本地服务
4. 对 macOS 系统进程:
- 不强杀 mds、mds_stores、mdworker、syspolicyd、trustd、WindowServer、kernel_task。
- 如果 Spotlight 或安全校验短时高 CPU,只说明原因和建议,不做永久关闭。
5. 不使用 sudo,不执行 purge 这类需要权限或可能失败的命令;如果确实需要,先说明收益、风险和替代方案,等待确认。
6. 对启动项:
- 只列出用途、风险和建议。
- 标记为:保留、可临时停用、建议手动确认、疑似废弃。
- 不删除 LaunchAgent/LaunchDaemon plist。
- 不直接 unload/disable,除非我明确确认。
7. 记录所有实际改动,确保能恢复。
复测要求:
1. 跑 after:
- memory_pressure
- vm_stat
- ps/top 按 CPU 和内存排序
- swap、压缩内存、pageins/pageouts
- 当前监听端口
2. 对比 before/after:
- 可用内存变化
- 压缩内存变化
- swap 是否继续增长
- pageins/pageouts 是否异常
- Top 进程变化
- 本地服务是否被误停
- 本次拉起的临时工具是否已清理
3. 输出总结:
- 一句话结论
- 已执行的清理项
- 保留了哪些关键进程/服务
- 发现的 3 个主要问题
- 未处理但建议手动确认的启动项或后台服务
- 是否需要我确认进一步禁用某些启动项
4. 输出人工验证步骤:
- 如何确认响应速度是否改善
- 如何检查 Activity Monitor
- 如何检查启动项
- 如何恢复被临时停用的项目
5. 记录临时文件、日志或截图;如果产生了临时产物,最后询问是否需要删除。