mih*_*ihi 6 memory windows-7 resource-monitor intel-graphics
我在具有 4GB RAM 的 Lenovo 530 笔记本电脑上使用 Windows 7 64 位。
但是,我的任务管理器显示 RAM 量只有 2.6GB,而资源监视器显示 1.4 GB 被“硬件使用”:

显然,我想使用更多的 RAM(例如,目前无法使用 2GB 的 RAM 启动 VirtualBox VM)。
所以我继续寻找哪个设备可能是我只有很少可用 RAM 的原因,以及我是否可以更新其驱动程序或禁用它......
首先,我尝试了 64 位 Linux Live ISO (grml64) 以排除任何驱动程序问题,并且那里的内存情况是相同的(在 中也只有 2.6GB 可用/proc/meminfo)。其他人建议msconfig可能设置了内存限制,但没有设置(如果我将一个设置为 3.5GB,可用内存减少 0.5GB)。
接下来,我尝试了meminfo -r哪个输出:
MemInfo v2.10 - Show PFN database information
C:\Users\Michi\Desktop>meminfo -r
Copyright (C) 2007-2009 Alex Ionescu
www.alex-ionescu.com
Physical Memory Range: 0000000000001000 to 000000000009D000 (156 pages, 624 KB)
Physical Memory Range: 0000000000100000 to 0000000020000000 (130816 pages, 523264 KB)
Physical Memory Range: 0000000020200000 to 0000000040004000 (130564 pages, 522256 KB)
Physical Memory Range: 0000000040005000 to 00000000871F2000 (291309 pages, 1165236 KB)
Physical Memory Range: 0000000100000000 to 000000011F600000 (128512 pages, 514048 KB)
MmHighestPhysicalPage: 1177088
Run Code Online (Sandbox Code Playgroud)
所以从0x871F2000到0x100000000的内存是不可用的,大概是1.8GB左右,但是4G以上的可用内存范围只有500MB左右,差别就在我“猎取”的1.4GB左右。
通常,我的期望(来自旧计算机也来自 DOS 时代)是,当硬件“映射”某些内存范围时,它会将其映射到自己的(虚拟或真实)内存,并且内存量会在最后“出现”内存范围(因为它发生在 4GB 以上的大约 500MB)。
设备管理器中的内存映射看起来像这样,在 0x871F 处没有任何内容......或者:
[00000000000A0000 - 00000000000BFFFF] Intel(R) HD Graphics 4000
[00000000000A0000 - 00000000000BFFFF] PCI bus
[00000000DFA00000 - 00000000FEAFFFFF] PCI bus
[00000000E0000000 - 00000000EFFFFFFF] Intel(R) HD Graphics 4000
[00000000F0000000 - 00000000F03FFFFF] Intel(R) HD Graphics 4000
[00000000F0400000 - 00000000F0BFFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 1 - 1E10
[00000000F0C00000 - 00000000F13FFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 3 - 1E14
[00000000F1400000 - 00000000F1403FFF] Realtek PCIe GBE Family Controller
[00000000F1400000 - 00000000F14FFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 4 - 1E16
[00000000F1404000 - 00000000F1404FFF] Realtek PCIe GBE Family Controller
[00000000F1500000 - 00000000F1CFFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 3 - 1E14
[00000000F1D00000 - 00000000F1D03FFF] 1x1 11b/g/n Wireless LAN PCI Express Half Mini Card Adapter
[00000000F1D00000 - 00000000F1DFFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 2 - 1E12
[00000000F1E00000 - 00000000F25FFFFF] Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 1 - 1E10
[00000000F2600000 - 00000000F260FFFF] Intel(R) USB 3.0 eXtensible-Hostcontroller
[00000000F2610000 - 00000000F2613FFF] High Definition Audio-Controller
[00000000F2614000 - 00000000F26140FF] Intel(R) 7 Series/C216 Chipset Family SMBus Host Controller - 1E22
[00000000F2615000 - 00000000F261500F] Intel(R) Management Engine Interface
[00000000F2618000 - 00000000F26187FF] Intel(R) 7 Series Chipset Family SATA AHCI Controller
[00000000F2619000 - 00000000F26193FF] Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E26
[00000000F261A000 - 00000000F261A3FF] Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D
[00000000F8000000 - 00000000FBFFFFFF] Hauptplatinenressourcen
[00000000FE800000 - 00000000FE80FFFF] Hauptplatinenressourcen
[00000000FED00000 - 00000000FED003FF] Hochpräzisionsereigniszeitgeber
[00000000FED10000 - 00000000FED17FFF] Hauptplatinenressourcen
[00000000FED18000 - 00000000FED18FFF] Hauptplatinenressourcen
[00000000FED19000 - 00000000FED19FFF] Hauptplatinenressourcen
[00000000FED1C000 - 00000000FED1FFFF] Hauptplatinenressourcen
[00000000FED20000 - 00000000FED3FFFF] Hauptplatinenressourcen
[00000000FED40000 - 00000000FED44FFF] Trusted Platform Module 1.2
[00000000FED45000 - 00000000FED8FFFF] Hauptplatinenressourcen
[00000000FED90000 - 00000000FED93FFF] Hauptplatinenressourcen
[00000000FEE00000 - 00000000FEEFFFFF] Hauptplatinenressourcen
[00000000FF000000 - 00000000FFFFFFFF] Hauptplatinenressourcen
[00000000FF000000 - 00000000FFFFFFFF] Intel(R) 82802 Firmwarehub
[00000000FFFFF000 - 00000000FFFFFFFF] Hauptplatinenressourcen
Run Code Online (Sandbox Code Playgroud)
由于 Intel HD Graphics 使用共享内存,我进行了验证,目前它仅使用 83 MB:

任何想法如何恢复我的记忆?
编辑:
笔记本自带这个内存配置(使用了1个4GB),还自带了Windows 7。半年前我确实重新安装了Windows 7(并使用Lenovo Update Wizard安装了所有驱动程序),当时我也安装了BIOS/固件更新,但从未查看过资源监视器,因为我根本不需要额外的 RAM,所以我不知道在我得到它时是否已经存在这种影响。
编辑2:
显然,@A32167 是对的。我找到了一个如何在 WebGL 中加载纹理的小例子,将其修改为加载 8192x8192 纹理(参见http://jsfiddle.net/q4SAS/),在谷歌浏览器中打开它,而“正在使用的图形内存”增加到918MB,硬件预留内存没变:

虽然这回答了我的问题,但当然仍然存在的问题是为什么联想用动态图形内存分配做广告,以及是否有办法减少分配的内存......
编辑3:
不幸的是,这还不是故事的结局 - 请看这里: 过去是什么硬件设备占用了我 4GB RAM 中的 1.4GB,而现在在没有硬件更改后突然占用了 2.2GB?
终于找到了正确答案并恢复了记忆。
正如https://superuser.com/a/762821/1724(本问题后续问题的答案)中详细介绍的,UEFI 实现的一个功能是在每次更新之前更新内存映射(持久存储在 UEFI 变量中)。发生任何变化时启动。它显然没有考虑到在启动之前,另一个UEFI启动项可能已经失败并且没有清理所使用的内存(取决于启动加载程序),导致每次UEFI启动失败后可用内存减少。
手动修复内存映射(存储在 UEFI 变量 中MemoryTypeInformation)可以解决该问题 - 虽然 TianoCore 参考实现表明删除变量也应该有效,但我不想冒这个风险。
| 归档时间: |
|
| 查看次数: |
3968 次 |
| 最近记录: |