确认 plugin_host 内存占用过高源于插件:先用 subl --safe-mode 验证,若内存回落则说明是插件导致;再通过控制台日志和逐个禁用 lsp、sublimelinter 等高内存插件定位;同时必须配置项目级 folder_exclude_patterns、清理 cache/index 目录、关闭 lsp 语言服务器。

plugin_host进程吃内存,怎么确认是哪个插件干的
直接看 plugin_host 进程本身不告诉你具体插件名,但它的行为和日志能暴露源头。最可靠的方式是启动时加 --safe-mode:Windows/macOS/Linux 都支持命令行运行 subl --safe-mode,此时所有插件被绕过。如果内存立刻回落到 200MB 以内,说明问题确实在插件层。
接着分两步定位:
- 打开
View → Show Console,观察启动后是否有重复打印的starting...、restarting...或 PythonTraceback—— LSP、GoSublime、SublimeLinter 出错时最爱刷这类日志 - 在
Preferences → Package Control → Disable Package里,优先禁用以下几类:LSP(含LSP-pyright、LSP-typescript)、SublimeLinter、Anaconda、GitGutter;UI 类插件如SideBarEnhancements基本不占内存,可跳过 - 每次禁用一个,完全退出 Sublime(任务管理器/活动监视器确认
sublime_text.exe和plugin_host进程都消失),再重启观察内存峰值
folder_exclude_patterns为什么比关index_files更关键
"index_files": false 只停掉 Sublime 自带的符号索引,但很多插件(尤其是 LSP)压根不认这行配置——它们会自己扫描整个项目目录,哪怕你关了索引,只要 node_modules 在项目里,LSP 就可能把它当源码加载,瞬间吃掉 800MB+ 内存。
真正起效的是项目级排除,且必须写进 .sublime-project 文件:
- 菜单选
Project → Edit Project,填入:{ "folders": [ { "path": ".", "folder_exclude_patterns": ["node_modules", "__pycache__", ".git", "dist", "build", "logs"] } ] } - 这个配置优先级高于用户设置,且一保存就生效,侧边栏里这些文件夹直接消失,插件连路径都拿不到
- 别只依赖全局
folder_exclude_patterns,它对 LSP 等插件无效;项目配置才是硬隔离
Cache 和 Index 目录不清理,前面全白做
即使你关了 index_files、禁了所有插件、写了完美排除规则,只要 Cache 和 Index 目录还躺在那里,Sublime 每次启动都会加载旧缓存——特别是 LSP 插件卸载后残留的 Cache/pyright/ 或 Cache/LSP-*,它们像僵尸进程一样继续占着内存。
必须手动删,不能清空,也不能只删子目录:
- 先彻底退出 Sublime:Windows 查任务管理器确认
sublime_text.exe和plugin_host.exe都没了;macOS 用活动监视器确认两个进程都终止 - 然后删整层目录(不是清空内容):
– macOS:~/Library/Application Support/Sublime Text/Cache、~/Library/Caches/Sublime Text/、~/Library/Application Support/Sublime Text/Local/Index
– Linux:~/.config/sublime-text/Cache、~/.cache/sublime-text/、~/.config/sublime-text/Local/Index
– Windows:%APPDATA%\Sublime Text\Cache、%LOCALAPPDATA%\Sublime Text\Cache、%APPDATA%\Sublime Text\Local\Index - 顺手检查
Packages/User/下有没有残留配置,比如LSP.sublime-settings、SublimeLinter.sublime-settings,这些文件不随插件卸载自动删除,留着就会让新装插件复用旧策略
LSP插件的自动诊断关不掉?得动配置文件
LSP 不吃你设的 "index_files": false,但它吃自己的配置。如果你发现关了索引、排了 node_modules、清了缓存,内存还是涨,大概率是 LSP 在后台持续跑语义分析。
进 Preferences → Package Settings → LSP → Settings,右侧用户设置加这几行:
{
"diagnostics_delay_ms": 5000,
"only_show_diagnostics_on_save": true,
"log_server": false,
"clients": {
"pyright": {
"enabled": false
},
"typescript": {
"enabled": false
}
}
}
重点是 "enabled": false 这项:它按语言服务器粒度关闭服务,比单纯关 LSP 插件更彻底;"only_show_diagnostics_on_save" 能避免每敲一个字就触发校验,CPU 和内存压力直降。
最后提醒一句:Sublime 的内存问题从来不是“某个开关没开”,而是缓存残留 + 插件绕过设置 + 排除不彻底三者叠加。少做一步,就可能卡在 1.2GB 不动。











