关闭Windows10内存压缩办法

内存压缩是Win10系统新加的一个功能,用来压缩内存,当物理内存不够用时,系统会将一部分不常使用的内存数据打包压缩起来,等到有程序需要访问那些数据的时候,再解压缩出来。且通常在物理内存上运行,并不像虚拟内存一样写入硬盘。 (且应都在内存中进行,不从硬盘读取数据,速度非常快,没有从硬盘读取数据时的卡顿感。)

尽管当前android手机6GB,8GB甚至12GB的机器都较为常见了,但内存无论多大,总是会有不够用的时候。当系统内存紧张的时候,会将文件页丢弃或回写回磁盘(如果是脏页),还可能会触发LMK杀进程进行内存回收。这些被回收的内存如果再次使用都需要重新从磁盘读取,而这个过程涉及到较多的IO操作。就目前的技术而言,IO的速度远远慢于这RAM操作速度。因此,如果频繁地做IO操作,不仅影响flash使用寿命,还严重影响系统性能。内存压缩是一种让IO过程平滑过渡的做法, 即尽量减少由于内存紧张导致的IO,提升性能。“引用见文末一链”

内存压缩会耗费CPU资源来进行解压缩操作

CPU性能羸弱且内存容量大的用户可以选择关闭获得更好的内存稳定性

————————————————

WIN加R 输入PowerShell 进入管理员身份

输入Get-mmagent 查看状态

此时会出现:

ApplicationLaunchPrefetching : True

ApplicationPreLaunch : True

MaxOperationAPIFiles : 256

MemoryCompression : True

OperationAPI : True

PageCombining : False

PSComputerName :

如果MemoryCompression 右边显示 True 就是压缩启用 显示False 就是关闭

如果是True 此时输入Disable-MMAgent -mc 关闭内存压缩

ApplicationLaunchPrefetching : True

ApplicationPreLaunch : True

MaxOperationAPIFiles : 512

MemoryCompression : False

OperationAPI : True

PageCombining : False

PSComputerName

反之输入 Enable-MMAgent 启用

如果显示拒绝访问

一,在已经打开的powershell输入:Start-Process powershell -Verb runAs转为管理员powershell模式,此时就可以输入Get-mmagent 即可

二,按住Shift点重启按钮,选择启动设置-安全启动,安全启动后 WIN加R 输入PowerShell 进入管理员PowerShell模式 此时输入Get-mmagent 即可

三,右键桌面左下角开始菜单,选择windowns powershell(管理员)即可

众所周知,操作系统在物理内存容量不足时,会将部分暂时没有使用的内存数据存入硬盘,Windows称之为"虚拟内存",Unix类称之为交换分区(swap),当后台程序被唤醒时,这部分数据再次被读入内存

但是硬盘和内存的速度/延迟差了上千倍: 机械硬盘的读取延迟为ms级,固态硬盘为us级,内存则为ns级,对于GHz级别的CPU而言,1us的时间也太长了.

于是内存压缩技术出现了,在内存中开辟一部分空间,存放不使用的内存数据,但存放前使用压缩算法压缩这部分数据,即可在内存中使用较少的空间存储之前较大的数据.由于目前CPU性能逐渐过剩,而IO成为瓶颈,内存压缩技术可以避免/减少内存使用率较高时对硬盘交换分区的使用,防止内存颠簸(频繁的分页交换)的发生.

总之,内存压缩以部分CPU资源的代价换来了更大的内存空间,同时避免了传统swap的高延迟。 “引用见文末二链”

内存压缩技术释义参考:

https://zhuanlan.zhihu.com/p/537372544

通俗参考:

https://www.zhihu.com/question/341923476/answer/870686906

https://www.zhihu.com/question/37644704/answer/74889488