关闭数据库服务减少内存占用
问题:
近来,一打开电脑就看到内存占用了18个G,明明什么都还没有打开。
我利用codex查到:
更实在的原因:开机后数据库服务起得很多。
我查到当前比较吃内存的进程是:
sqlservr.exe大约1.54 GBmpdwsvc.exe两个进程合计大约1.06 GBmysqld.exe大约0.38 GBMsMpEng.exe大约0.52 GB
更关键的是,你的数据库相关服务是开机自动启动的,而且不止一个:
SQL Server (MSSQLSERVER)SQL Server Analysis ServicesSQL Server PolyBase 引擎SQL Server PolyBase 数据移动MySQL80postgresql-x64-16
也就是说,你这台电脑一开机其实就在同时养着SQL Server + MySQL + PostgreSQL + SQL 附加组件,这在开发机上很常见,但如果你平时不马上用数据库,就会显得“开机内存一下子就上来了”。
结论很直接:
- 不是单一程序异常爆内存。
- 最大头是 Windows 缓存机制,看起来高,但很多是可回收的。
- 真正常驻占用的重点,是你开机自动启动了多套数据库服务和 SQL 的附加服务。
如果你想把开机内存明显降下来,最有效的是先处理这些服务,而不是纠结微信、飞书这类小进程:
- 把暂时不用的
MySQL80、postgresql-x64-16改成手动启动 - 如果不用 SQL 的高级功能,把
SQL Server Analysis Services、SQL PolyBase也改成手动 - 保留你真正每天要用的那一套数据库即可
MySQL80
临时关闭:
Stop-Service -Name MySQL80设置为开机不启动:
Set-Service -Name MySQL80 -StartupType Disabled以后重新启用:
Set-Service -Name MySQL80 -StartupType Manual Start-Service -Name MySQL80如果你希望恢复成开机自动启动:
Set-Service -Name MySQL80 -StartupType Automatic Start-Service -Name MySQL80PostgreSQL
你这台机器上的服务名是postgresql-x64-16。
临时关闭:
Stop-Service -Name postgresql-x64-16设置为开机不启动:
Set-Service -Name postgresql-x64-16 -StartupType Disabled以后重新启用:
Set-Service -Name postgresql-x64-16 -StartupType Manual Start-Service -Name postgresql-x64-16如果你希望恢复成开机自动启动:
Set-Service -Name postgresql-x64-16 -StartupType Automatic Start-Service -Name postgresql-x64-16SQL Server
先“停止服务”:
Stop-Service -Name MSSQLFDLauncher -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLWriter -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLTELEMETRY -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLBrowser -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLLaunchpad -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLPBDMS -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLPBENGINE -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLServerOLAPService -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLSERVER -Force -ErrorAction SilentlyContinue再“禁止开机启动”:
Set-Service -Name MSSQLFDLauncher -StartupType Disabled Set-Service -Name SQLWriter -StartupType Disabled Set-Service -Name SQLTELEMETRY -StartupType Disabled Set-Service -Name SQLBrowser -StartupType Disabled Set-Service -Name MSSQLLaunchpad -StartupType Disabled Set-Service -Name SQLPBDMS -StartupType Disabled Set-Service -Name SQLPBENGINE -StartupType Disabled Set-Service -Name MSSQLServerOLAPService -StartupType Disabled Set-Service -Name MSSQLSERVER -StartupType Disabled下次要用时,一键重新打开
先“重新启用”:
Set-Service -Name MSSQLFDLauncher -StartupType Manual Set-Service -Name SQLWriter -StartupType Manual Set-Service -Name SQLTELEMETRY -StartupType Manual Set-Service -Name SQLBrowser -StartupType Manual Set-Service -Name MSSQLLaunchpad -StartupType Manual Set-Service -Name SQLPBDMS -StartupType Manual Set-Service -Name SQLPBENGINE -StartupType Manual Set-Service -Name MSSQLServerOLAPService -StartupType Manual Set-Service -Name MSSQLSERVER -StartupType Manual再“启动服务”:
Start-Service -Name MSSQLSERVER Start-Service -Name MSSQLServerOLAPService Start-Service -Name SQLPBENGINE Start-Service -Name SQLPBDMS Start-Service -Name MSSQLLaunchpad Start-Service -Name SQLBrowser Start-Service -Name SQLTELEMETRY Start-Service -Name SQLWriter Start-Service -Name MSSQLFDLauncherSet-Service -Name MSSQLSERVER -StartupType Manual最终总表
下面这份你以后直接照着复制就行。
1. 关闭 SQL Server
Stop-Service -Name MSSQLFDLauncher -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLWriter -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLTELEMETRY -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLBrowser -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLLaunchpad -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLPBDMS -Force -ErrorAction SilentlyContinue Stop-Service -Name SQLPBENGINE -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLServerOLAPService -Force -ErrorAction SilentlyContinue Stop-Service -Name MSSQLSERVER -Force -ErrorAction SilentlyContinue Set-Service -Name MSSQLFDLauncher -StartupType Disabled Set-Service -Name SQLWriter -StartupType Disabled Set-Service -Name SQLTELEMETRY -StartupType Disabled Set-Service -Name SQLBrowser -StartupType Disabled Set-Service -Name MSSQLLaunchpad -StartupType Disabled Set-Service -Name SQLPBDMS -StartupType Disabled Set-Service -Name SQLPBENGINE -StartupType Disabled Set-Service -Name MSSQLServerOLAPService -StartupType Disabled Set-Service -Name MSSQLSERVER -StartupType Disabled2. 开启 SQL Server
Set-Service -Name MSSQLFDLauncher -StartupType Manual Set-Service -Name SQLWriter -StartupType Manual Set-Service -Name SQLTELEMETRY -StartupType Manual Set-Service -Name SQLBrowser -StartupType Manual Set-Service -Name MSSQLLaunchpad -StartupType Manual Set-Service -Name SQLPBDMS -StartupType Manual Set-Service -Name SQLPBENGINE -StartupType Manual Set-Service -Name MSSQLServerOLAPService -StartupType Manual Set-Service -Name MSSQLSERVER -StartupType Manual Start-Service -Name MSSQLSERVER Start-Service -Name MSSQLServerOLAPService Start-Service -Name SQLPBENGINE Start-Service -Name SQLPBDMS Start-Service -Name MSSQLLaunchpad Start-Service -Name SQLBrowser Start-Service -Name SQLTELEMETRY Start-Service -Name SQLWriter Start-Service -Name MSSQLFDLauncher3. 关闭 MySQL80
Stop-Service -Name MySQL80 -Force -ErrorAction SilentlyContinue Set-Service -Name MySQL80 -StartupType Disabled4. 开启 MySQL80
Set-Service -Name MySQL80 -StartupType Manual Start-Service -Name MySQL805. 关闭 PostgreSQL
Stop-Service -Name postgresql-x64-16 -Force -ErrorAction SilentlyContinue Set-Service -Name postgresql-x64-16 -StartupType Disabled6. 开启 PostgreSQL
Set-Service -Name postgresql-x64-16 -StartupType Manual Start-Service -Name postgresql-x64-16补一句最实用的:这些命令都建议在“管理员 PowerShell”里执行。
如果你想,我下一步可以再给你整理成“超精简版”,每个只保留一小段,方便你以后收藏。
表格分界线
关闭后减少了四五G内存
