Mac后台服务内存过高需定位launchd管理的异常守护进程,通过活动监视器全进程视图识别可疑项,查~/Library/LaunchAgents/和/Library/LaunchDaemons/中含ssl、LV等关键词的plist文件,用sudo launchctl unload -w永久禁用,并清理osascript脚本及mds_stores异常索引。
mac 后台服务进程占用内存过高,通常不是界面应用的问题,而是系统级守护进程(launchd 管理的服务)在后台持续拉起、反复重启或存在异常行为。这类进程往往在活动监视器里一闪而过,强制退出后很快复活,单纯杀进程治标不治本。关键在于定位源头、禁用自启、阻止重复加载。
一、用活动监视器全进程视图揪出可疑守护进程
普通“用户进程”视图会隐藏系统级服务,必须切换到完整视角:
- 打开活动监视器(Command + 空格 → 输入“活动监视器”)
- 点击左下角齿轮图标 → 选择“显示所有进程”
- 切换到“CPU”或“内存”标签页,按占用排序
- 重点关注:名称含 ssl、LV、miner、k.list、hide 等非常规字符串的进程
- 查看“用户”列为 root 或 nobody,且 % CPU 长期高于 20% 或内存持续增长
- 右键进程 → “查看简介”,在“命令行”中留意是否调用 /bin/bash、osascript -e 或指向 ~/Library/Scripts 的路径
二、查 plist 文件,切断自动启动源头
macOS 的后台服务由 launchd 通过 plist 文件控制,主要存放在三个位置:
- 用户级(当前用户登录后加载):~/Library/LaunchAgents/
- 系统级(开机即加载,需管理员权限):/Library/LaunchDaemons/
- 苹果内置(不建议动):/System/Library/LaunchDaemons/
在终端中运行以下命令快速筛查异常项:
ls -la ~/Library/LaunchAgents/ /Library/LaunchDaemons/ | grep -E "(ssl|LV|k\.list|hide|EasyConnect|thermald)"
若发现可疑文件,用 cat 文件路径 查看内容,重点确认:
• RunAtLoad 是否为 true
• ProgramArguments 是否指向可疑脚本或二进制
确认后,先移走再处理:
mv ~/Library/LaunchAgents/com.example.bad.plist ~/Desktop/
三、用 launchctl 卸载并永久禁用问题服务
找到确切路径后,用以下命令即时停用,并防止重启恢复:
sudo launchctl unload -w /Library/LaunchDaemons/com.apple.thermald.plist
sudo launchctl unload -w ~/Library/LaunchAgents/ssl4.plist
其中 -w 参数会向 plist 写入 Disabled = true,实现永久禁用。不确定是否安全时,可先卸载观察 1–2 小时;无异常再删除对应文件。
四、检查 Spotlight 和 mds_stores 异常占用
mds_stores 是 Spotlight 索引服务,正常情况下内存占用应随索引完成回落。若长期高于 800MB 且运行超 30 分钟:
- 在活动监视器“内存”视图中找到 mds_stores
- 右键 → “查看简介”,确认其“启动时间”是否异常新、是否在扫描加密卷或 Time Machine 备份盘
- 临时暂停索引:sudo mdutil -a -i off(完成后记得用 sudo mdutil -a -i on 恢复)
- 重建索引(谨慎操作):sudo mdutil -E /
五、清理残留脚本与自动化任务
很多后台内存大户实际是 AppleScript 或 shell 脚本驱动的,即使进程消失,定时任务仍在:
- 检查 Automator 保存的“日常任务”是否设置了重复运行
- 运行 crontab -l 查看用户级定时任务
- 运行 launchctl list | grep -v "0x" 列出当前活跃的 launchd 任务,比对是否与已卸载 plist 冲突
- 删除 ~/Library/Scripts/ 下来源不明的 .scpt 或 .sh 文件


















