truncatememory 和 removememory 有个1GB的差异

2022-02-11 16:01:17 浏览数 (1)

truncatememory 和 removememory 不可同时使用

truncatememory 和 removememory 不可同时使用

truncatememory 和 removememory 不可同时使用

要验证二者的不同,需要每次都复原后验证,用bcdedit /deletevalue parameter_name复原,例如

bcdedit /deletevalue numproc

bcdedit /deletevalue truncatememory

bcdedit /deletevalue removememory

truncatememory 和 removememory 有个1GB的差异

这里举个大内存机器的例子,安装内存384G,默认状态下:为硬件保留1.3G(1382M),可用内存384-1.3=382.7G。

0x1500000000 是16进制84G

0x100000000 是16进制4G

307200是1024*300,307200MB即300GB

用bcdedit /set {default} truncatememory 0x100000000设置开机4G内存,进入系统后发现真正能被系统用到的物理内存1.7GB

用bcdedit /set {default} truncatememory 0x1500000000设置开机84G内存,进入系统后发现真正能被系统用到的物理内存81.7GB

用bcdedit /set {default} removememory 307200设置开机84G内存,进入系统后发现真正能被系统用到的物理内存82.7GB

有个1GB的差值,怎么回事?

用bcdedit /set {default} truncatememory 0x1500000000设置开机84G内存,发现能被系统用到的物理内存81.7GB

为硬件保留的内存是301GB 1.3GB=302.3GB,所以真正能被系统用到的物理内存是384-302.3=81.7GB

为硬件保留的内存是咋算的?默认为硬件保留的内存是系统自动处理的,这块深究不清楚,但通过truncatememory造成的为硬件保留内存还是可以搞清楚的。

从truncatememory 0x100000000(4G)开始,为硬件保留的整GB的内存有个 1GB的逻辑,即bcdedit /set {default} truncatememory 0x100000000 命令设置开机4G内存,为硬件保留的整GB的内存是【安装内存-设置内存的差值】再加1G,对这台384G内存的机器来说,为硬件保留的整GB内存就是384-4 1=381G,外加默认状态为硬件保留的1.3G,总的为硬件保留的内存就是382.3G,此时真正能被系统用到的物理内存是1.7G。

307200MB即300GB,384-300=84,用bcdedit /set {default} removememory 307200设置开机84G内存,发现能被系统用到的物理内存82.7GB

为硬件保留的内存是300GB 1.3GB=301.3GB,所以真正能被系统用到的物理内存是384-301.3=82.7GB

removememory 减掉的内存是精确的,removememory 307200即为硬件保留整300GB,外加默认状态为硬件保留的1.3G,总的为硬件保留的内存就是301.3G,此时真正能被系统用到的物理内存是82.7GB。

0 人点赞