查看: 5994|回复: 43

[讨论] 关于“内存压缩”和“内存页面合并”,coolcool123大佬请进

[复制链接]
awork 发表于 2023-12-23 12:31 | 显示全部楼层 |阅读模式
快御云安全
最近百分浏览器总是outofmemory,如果禁用“内存压缩”+启用“内存页面合并”,我想也许会有意想不到的效果?

“内存压缩”我查到了是什么意思,但是没有找到“内存页面合并”的解释。请教cool大,对于64GB大内存用户来说,如何设置能使“稳定性”优先?


2023-12-23_121949.png

顾名思义,内存压缩是一种压缩内存以加载到您的 RAM上的功能,允许您的 RAM 存储比正常情况下更多的数据。

例如,如果您的 PC 有 8 GB 的可用 RAM,并且有 9 GB 的数据要存储在上面,内存压缩将尝试压缩额外的数据,使其适合 8 GB 的 RAM 容量。

如果您不使用内存压缩,您的 PC 会将额外的数据存储在硬盘驱动器上的文件中。这会降低您的 PC 的性能,因为您的 PC 从硬盘驱动器上的文件读取数据比从 RAM 中读取数据需要更多时间。除非有特殊原因,否则最好在系统上启用内存压缩。


恒温麾下 发表于 2023-12-23 13:10 来自手机 | 显示全部楼层
等一波大佬讲解

评分

1

查看全部评分

回复

使用道具 举报

小银狐 发表于 2023-12-23 13:21 | 显示全部楼层
本帖最后由 小银狐 于 2023-12-23 21:10 编辑

关于Windows10及11启用的"内存压缩"功能的解析
-------------------------
内存压缩的介绍与利弊
在Win10及Win11中,默认开启了名为"内存压缩"(Memory compression)的功能。这是Win10在2016年新增的功能,作用是压缩内存以减少页面文件的使用,顾名思义,内存压缩就是压缩内存中不常使用的页面文件,使内存占用更少,从而允许操作系统运行更多程序、同时减少对硬盘的读取与写入,带来更高的 I/O 效率,甚至能因此提高系统的响应速度。


当内存管理器(Memory Manager)【1】决定向硬盘写入页面文件的时候,读取或写入到硬盘的数据(一般来说)仅为原始大小的40%。【2】这种压缩提升了系统中其它无关操作方面的性能,因为作为干扰性的 I/O 负载减少了。结果就是,用户获得了更流畅,更快的反应速度,应用启动速度和稳定性也得到了提升。


但是,压缩数据需要耗费 CPU 资源,一些设备搭载了性能较弱的CPU,开启内存压缩便可能会造成其运行卡顿缓慢。与此同时,内存压缩需要消耗额外的 CPU 资源,也增加了耗电量,对全球环保做出了巨大危害(有无看法?@Apple)并且它有时会在不该压缩的时候去压缩,造成性能降低。
如果内存够用,可关掉以获得更好的稳定性。如果内存不足+硬盘慢,就保持开启。

查看内存压缩的启用状态
您可通过命令行查看,选择以管理员身份运行 PowerShell,输入以下命令:
Get-MMAgent
按下回车键运行,如果看到“MemoryCompression”这一项是“True”,那么说明内存压缩已经开启。


如何关闭内存压缩?
您可通过命令行关闭,选择以管理员身份运行 PowerShell,输入以下命令:
Disable-MMAgent -mc
按下回车键(Enter键),随后重启系统,内存压缩便已关闭。


如果想要重新打开内存压缩,同样选择以管理员身份运行 PowerShell,输入以下命令:
Enable-MMAgent -mc
重启系统后,内存压缩便重新开启。


【1】Memory Manager于WIndows10开始启用
【2】数据来自2015年,Windows 10 会员中心(Insider Hub)中的 Windows 10:Memory Compression 来源于远景论坛-微软极客社区  https://bbs.pcbeta.com/viewthread-1914191-1-1.html

转自 卡饭论坛 build233

4. 内存压缩和页面合并
未改动(默认开启)。Win10在2016年新增的功能,作用是压缩内存以减少页面文件的使用,但由于阿三的不靠谱,它有时会在不该压缩的时候去压缩,造成性能降低。

如果内存够用,可关掉以获得更好的稳定性。如果内存不足+硬盘慢,就保持开启。

Powershell
管理员权限下,执行Enable-MMAgent -mc -pc来开启,执行Disable-MMAgent-mc -pc来关闭,更改后需要重启。

转自 卡饭论坛   aichong168

评分

3

查看全部评分

回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 13:46 | 显示全部楼层
小银狐 发表于 2023-12-23 13:21
关于Windows10及11启用的"内存压缩"功能的解析
-------------------------
内存压缩的介绍与利弊

多谢银狐大佬!
回复

使用道具 举报

xuhongjian 发表于 2023-12-23 14:32 | 显示全部楼层
学习了。。。
回复

使用道具 举报

可乐1355 发表于 2023-12-23 14:58 | 显示全部楼层
32G用户直接禁用了那些东东
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 15:10 | 显示全部楼层
可乐1355 发表于 2023-12-23 14:58
32G用户直接禁用了那些东东

我64G,禁用更没问题了?
回复

使用道具 举报

xzwangqi0522 发表于 2023-12-23 15:37 | 显示全部楼层
我笔记本16G都禁用了
回复

使用道具 举报

17072659 发表于 2023-12-23 16:12 | 显示全部楼层
这玩意就等同于Linux的ZRAM和ZSWAP,  利用压缩算法压缩不常用的内存空间,用人话讲就是一个针对内存压缩一个针对虚拟内存压缩

评分

1

查看全部评分

回复

使用道具 举报

mm_msn 发表于 2023-12-23 16:24 | 显示全部楼层
学习了,谢谢
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 16:27 | 显示全部楼层
17072659 发表于 2023-12-23 16:12
这玩意就等同于Linux的ZRAM和ZSWAP,  利用压缩算法压缩不常用的内存空间,用人话讲就是一个针对内存压缩一 ...

确实明白多了。

内存页面合并 = 虚拟内存压缩 = pagefile.sys整理?
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 16:28 | 显示全部楼层
xzwangqi0522 发表于 2023-12-23 15:37
我笔记本16G都禁用了

我也打算禁用内存压缩了
回复

使用道具 举报

coolcool2013 发表于 2023-12-23 17:32 | 显示全部楼层
把鼠标移上去不是有提示吗?

内存页面合并,是将内存中一样的内容进行合并,合成一份,减少物理内存占用。
而内存压缩,显然就是将内存中的某些不常用内容进行压缩,就像压缩软件压缩文件一样,以此来减少物理内存空间占用。要取用的话还要有个解压缩的过程。

那么显而易见,内存页面合并的CPU占用< 内存压缩的CPU占用。
内存压缩默认都是启用的。
但Windows会根据内存大小来确定默认是否开启内存页面合并功能,比如32G内存的话这个功能默认是关闭的。
其实这两功能并没有想象中那么耗CPU占用,现在的CPU完全能够应付,除非CPU确实老旧,那就把它们关了吧,可能开着和关着感受不会很明显。

回到awork的场景,outofmemory,就是内存爆了,在Chrome中由于网页JS、CSS太复杂占内存太多(大部分是因为代码写得差!),开多了网页肯定是可能把内存吃光。在这种场景下,显然内存压缩显得比内存页面合并会更有用,你可以想象,不同的网页,页面合并的几率会很小。
再来看内存压缩,它压缩的只是不常用内存,而不是所有内存,哪些内存不常用,Windows自己去判断,而网页一直频繁切换的话,那几乎就不可能当成“不常用”。因此我认为这两者对于经常打开多网页又都在不停切换使用的场景,是没什么用处的。当然如果你把网页打开放在那很久不动,可能Windows才会有点反应,其实在此之前,Chrome自己就有了一个进程闲置的功能。

正确的做法应该是加大点虚拟内存。但根本的原因还是看你打开的网页到底是些什么,如果是很复杂的页面的话,不建议一下打开多个。

评分

2

查看全部评分

回复

使用道具 举报

可乐1355 发表于 2023-12-23 17:34 | 显示全部楼层
awork 发表于 2023-12-23 15:10
我64G,禁用更没问题了?

一直都禁用,没有发现哪里不妥。
回复

使用道具 举报

fybhwsx 发表于 2023-12-23 17:47 | 显示全部楼层
压缩不是为了节省内存吗,64G内存还搞压缩干啥。难道使用压缩速度会更快吗?!
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 18:38 | 显示全部楼层
coolcool2013 发表于 2023-12-23 17:32
把鼠标移上去不是有提示吗?

内存页面合并,是将内存中一样的内容进行合并,合成一份,减少物理内存占用 ...

感谢cool大详细的解答!鼠标悬停提示我居然没发现!看了你的分析后,我觉得还是保持默认设置吧。虚拟内存一直是系统自动管理,不需要调整吧?百分浏览器我已经换了X64版本,换X64后看看还有没有outofmemory 和 内存溢出的问题
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 18:57 | 显示全部楼层
可乐1355 发表于 2023-12-23 17:34
一直都禁用,没有发现哪里不妥。

看了cool大的分析,还是保持默认设置了,对我的问题没有什么帮助。
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 18:58 | 显示全部楼层
fybhwsx 发表于 2023-12-23 17:47
压缩不是为了节省内存吗,64G内存还搞压缩干啥。难道使用压缩速度会更快吗?!

我是想禁用内存压缩,大佬说不压缩对outofmemory也没啥帮助。
回复

使用道具 举报

jdm18740200617 发表于 2023-12-23 20:47 | 显示全部楼层
字面意思理解内存压缩是将内存中挂起的程序数据进行再次压缩。。。但是看这样子,微软的表述并不如此呀!
回复

使用道具 举报

awork  楼主| 发表于 2023-12-23 21:12 | 显示全部楼层
jdm18740200617 发表于 2023-12-23 20:47
字面意思理解内存压缩是将内存中挂起的程序数据进行再次压缩。。。但是看这样子,微软的表述并不如此呀!

这就是术语的迷惑性,即便是老鸟用了一辈子电脑,也未必能尽解其意
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2025 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2025-4-25 12:32

快速回复 返回顶部 返回列表