这几天有海外同事反应,电脑慢到一个极致,反应的人都是 Windows 10 的电脑,硬体规格也不算太差。查看工作管理员,只能看到记忆体被用掉九成(配备 4G),但却看不出有哪个程式吃掉特别多的记忆体。之后进到资源监视器,观察硬碟 IO 情形,一开始也没看出个端倪,不过后来有留意到 Memory Compression 这个服务,以往没看过这程式,但从他的名字来看,应是个记忆体优化的服务,所以也就暂且不怀疑他。后来在另外一台电脑上,也是观察到类似的情形,这次就上网查询 Memory Compression 服务,没想到查到不少人在反应记忆体被 Memory Compression 耗尽的情形。
Memory Compression 是个优化记忆体使用情形的服务,但在记忆体不足的情况下,就可能会发生系统反而因为他而造成效能不足的情形,这个情形跟当年 Windows 7 的 Superfetch 服务很像,Superfetch 原先也是为了有效处理记忆体使用的情形,但在部份效能较差的电脑上,若仅配置 2G 的记忆体,就会发生记忆体被 Superfetch 用光的情形,反而造成系统卡顿。
若要关闭 Memory Compression,网路上有提供两种方式,一个是关闭前面提到的 Superfetch,这部份我实测没有效果,不确定是不是因为我没重开机,另外要注意的是,在不同电脑上,Superfetch 有可能显示为 sysmain。第二个方法是以管理员身分执行 PowerShell,然后执行下面指令:
Disable-MMAgent -mc #如果有跳出權限問題,可能是你沒有以管理者身分進入 PowerShell。 #如果跳出的是服務被關閉的相關訊息, #可能是 Superfetch(sysmain) 被關閉了,請先啟用。
执行完重开机后,电脑即可恢复正常速度,而 Superfetch(sysmain) 服务仍会继续运行着,看起来 Memory Compression 跟 Superfetch(sysmain) 这两者有关联,但是似乎是不一样的程式。
【參考連結】
- 组策略 – 如何禁用Windows 10 内存压缩? – 超级用户