请教:怎样能让集成显卡的机器显存不占用操作系统的内存
3837 25
[1 楼] 老高 [泡菜]
2-19 18:02
情况是这样:单位有若干32位win7的机器,只有4G内存,但是集成显卡又占用了本就不多的内存的一部分。
现在问题是:如果我在加一条4G内存,怎样才能让显卡使用这部分内存做显存?
不讨论为啥不升级成64位系统,有很多原因。。。
老高 编辑于 2025-02-19 18:03
[26 楼] huhuzz [泡菜]
2-21 16:41
camsone 发表于 2025-02-20 17:44
是的,可以。我12 年前的戴尔笔记本在用,一直没变。集成显卡,内存8GB。硬盘,一个500G机械硬盘,还一个好像32G的miniSATA做缓存。系统开始是win 7, 现在升级成了win 11....

如果出厂就配置了8G内存,那肯定配套的是64位的win7,没有4G内存限制,
发布自 iOS客户端
[25 楼] Tianmou [资深泡菜]
2-21 11:04
老高 发表于 2025-02-20 17:32
如果是自己的机器,早就扔了,但是单位的机器就没那么简单,有时候不是钱的问题,涉及很多事情。。。
我只是和各位DX探讨一下是否有这个可能性,如果没有,也就不折腾了

如果有可能自己买一个用也行,我单位电脑就是自己买的, 最新的配置。别让同事桶,老给我下东西。
[24 楼] 闲聊状态 [泡菜]
2-21 10:58
32位X86 可以靠PAE来使用多于4G的内存,但是单进程最大内存2G,除非有特别的内存使用手段否则就是这样了

32位 4G 个人认为 个人使用足够了,没必要再升级,实际上4G内存它也不是全能用到。。如果就要纠结那一点点显存占用,就如下面说的买个显卡吧 GT610啥的就行了 至少1G显存了
[23 楼] 老高 [泡菜]
2-21 10:37
washu 发表于 2025-02-20 23:55
首先你的主板要提供支持,就是我在 14 楼说的内存地址重映射。如果能,Win7 会正确显示你安装的内存大小,比如你安装了 8GB,它会显示,你安装了 8GB,但不能用。
然后,打开 Win7 的 PAE 支持,我前面说过了。
最后,具体的程序也要支持...
明白了,多谢赐教!
[22 楼] washu [泡菜]
2-20 23:55
老高 发表于 2025-02-20 17:38
就是说,即使机器用的是独立显卡,32bit的win7也没办法使用3.5G以上的内存,是吧?

首先你的主板要提供支持,就是我在 14 楼说的内存地址重映射。如果能,Win7 会正确显示你安装的内存大小,比如你安装了 8GB,它会显示,你安装了 8GB,但不能用。

然后,打开 Win7 的 PAE 支持,我前面说过了。

最后,具体的程序也要支持 PAE 寻址,我前面也举例了,如果具体的程序(绝大部分都不支持)不支持,也一样不可以。

所以其实就是,非要在 32 位 OS 下使用大内存本身就是一个吃力不讨好的破事。
[21 楼] duoduobear [Canon论坛版主]
2-20 22:50
huhuzz 发表于 2025-02-20 15:55
楼主不是需要大显存,而是不想让集成显卡使用4G以内的内存。
可能楼主认为32位操作系统访问不了4G以外的内存,但是集成显卡可以。

我的意思是如果不玩大型3D游戏,大语言模型等需要大显存的应用,显存需求是毛毛雨,4GB内存分配几百MB做显存,啥影响都没有。
[20 楼] CATWK [泡菜]
2-20 22:08
老高 发表于 2025-02-20 17:38
就是说,即使机器用的是独立显卡,32bit的win7也没办法使用3.5G以上的内存,是吧?


32位系统按理说可以寻址到4GB内存的地址空间,但实际因为有系统和硬件保留、显存等的开销,实际只能使用3.25-3.5GB,如果是独立显卡不知道能不能把显存占用的那部分释放出来,但即使可以,也不会超过3.5GB
[19 楼] camsone [泡菜]
2-20 17:44
huhuzz 发表于 2025-02-20 15:55
楼主不是需要大显存,而是不想让集成显卡使用4G以内的内存。
可能楼主认为32位操作系统访问不了4G以外的内存,但是集成显卡可以。

是的,可以。我12 年前的戴尔笔记本在用,一直没变。集成显卡,内存8GB。硬盘,一个500G机械硬盘,还一个好像32G的miniSATA做缓存。系统开始是win 7, 现在升级成了win 11.
[18 楼] 老高 [泡菜]
2-20 17:38
CATWK 发表于 2025-02-20 17:01
32bitWin7只能用到3.5G内存,我觉得你应该先搞清楚到底这个集成显卡是不是可以使用这3.5G之外的那500MB,不行再想别的办法
就是说,即使机器用的是独立显卡,32bit的win7也没办法使用3.5G以上的内存,是吧?
[17 楼] 老高 [泡菜]
2-20 17:32
Tianmou 发表于 2025-02-20 16:23
其实把, 你像这种老机器,  没啥折腾的必要, 真的, 你研究半天。没有任何改变。 除非你在单位实在没事干
如果是自己的机器,早就扔了,但是单位的机器就没那么简单,有时候不是钱的问题,涉及很多事情。。。
我只是和各位DX探讨一下是否有这个可能性,如果没有,也就不折腾了
[15 楼] CATWK [泡菜]
2-20 17:01
32bitWin7只能用到3.5G内存,我觉得你应该先搞清楚到底这个集成显卡是不是可以使用这3.5G之外的那500MB,不行再想别的办法
[14 楼] washu [泡菜]
2-20 17:00
yifanker 发表于 2025-02-20 16:24
好像在不玩游戏时,就占用几十MB显存,这个浪费不了多少,分配给显卡也没大的意义
以前因为用特殊软件,必须用32位Win7(好像只能识别3.5GB),就把额外的4GB内存用RAMDISK软件虚拟成一个盘,把页面文件放进去

你说那个只能识别 3.5GB,是另一个问题,叫内存地址重映射
[13 楼] yifanker [资深泡菜]
2-20 16:24
好像在不玩游戏时,就占用几十MB显存,这个浪费不了多少,分配给显卡也没大的意义

以前因为用特殊软件,必须用32位Win7(好像只能识别3.5GB),就把额外的4GB内存用RAMDISK软件虚拟成一个盘,把页面文件放进去
[12 楼] Tianmou [资深泡菜]
2-20 16:23
其实把, 你像这种老机器,  没啥折腾的必要, 真的, 你研究半天。没有任何改变。 除非你在单位实在没事干
[11 楼] huhuzz [泡菜]
2-20 15:55
duoduobear 发表于 2025-02-20 12:35
你的方案听上去很合理,既然保持在32bit windows,那增加4GB以上内存,确实不如增加独立显卡,这样完全不占用4GB系统内存。
但是,我好奇的是有什么需求需要大显存?不玩游戏的话,日常办公使用对显存的需求要求很低。
32位Windows 7的...

楼主不是需要大显存,而是不想让集成显卡使用4G以内的内存。
可能楼主认为32位操作系统访问不了4G以外的内存,但是集成显卡可以。
发布自 iOS客户端
[10 楼] 老高 [泡菜]
2-20 12:50
多谢各位的指教,我去找台机器试试
[9 楼] duoduobear [Canon论坛版主]
2-20 12:35
Tianmou 发表于 2025-02-20 11:10
一条内存  50元   一个亮机卡100元。  不如加个亮机卡, 还能多点接口

你的方案听上去很合理,既然保持在32bit windows,那增加4GB以上内存,确实不如增加独立显卡,这样完全不占用4GB系统内存。
但是,我好奇的是有什么需求需要大显存?不玩游戏的话,日常办公使用对显存的需求要求很低。

32位Windows 7的显存最低要求是128MB。
[8 楼] washu [泡菜]
2-20 12:00
老高 发表于 2025-02-20 11:30
怎样知道操作系统是否支持PAE呢?

Winnt4 和以后的 Windows 都支持,比如 WinXP(Winnt 5.1)。默认的,Win7 32bit 版对 PAE 支持禁用,续用 bcdedit /set pae forceenable 开启。但,问题在于这和你没关系 你的显卡驱动和大部分应用程序是不支持 PAE 的(支持 PAE 的应用程序是比如巨硬 SQL Server 之类)

[7 楼] 老高 [泡菜]
2-20 11:30
流浪大猫 发表于 2025-02-19 19:06
集显对内存的占用是动态分配的,如果应用不需要使用大量显存是不会占用的,而如果应用需要而人为限制只会让应用无法正常运行,另外32位系统除非系统支持PAE,否则升级内存并没有意义。
怎样知道操作系统是否支持PAE呢?
[6 楼] Tianmou [资深泡菜]
2-20 11:10
一条内存  50元   一个亮机卡100元。  不如加个亮机卡, 还能多点接口
[5 楼] duoduobear [Canon论坛版主]
2-20 10:39
老高 发表于 2025-02-19 18:02
情况是这样:单位有若干32位win7的机器,只有4G内存,但是集成显卡又占用了本就不多的内存的一部分。
现在问题是:如果我在加一条4G内存,怎样才能让显卡使用这部分内存做显存?
不讨论为啥不升级成64位系统,有很多原因。。。

物理地址扩展 (PAE) 是一项处理器功能,使 x86 处理器能够在支持 Windows 的版本※※问超过 4 GB 的物理内存。 在基于 x86 的系统上运行的某些 32 位版本的 Windows Server 可以使用 PAE 访问高达 64 GB 或 128 GB 的物理内存,具体取决于处理器的物理地址大小。 有关详细信息,请参阅 Windows 版本的内存限制

Intel Itanium 和 x64 处理器体系结构可以本机访问超过 4 GB 的物理内存,因此不提供等效的 PAE。 PAE 仅由在基于 x86 的系统上运行的 32 位版本的 Windows 使用。

使用 PAE 时,操作系统将从两级线性地址转换转换为三级地址转换。 与其将线性地址拆分为三个单独的字段用于索引到内存表,不如将其拆分为四个单独的字段:一个 2 位位域、两个 9 位位域和一个对应于 Intel 体系结构实现的页大小 (4 KB) 的 12 位位域。 在 PAE 模式下,PTE (页表条目的大小) 和页目录条目 (PTE) 从 32 位增加到 64 位。 附加位允许操作系统 PTE 或 PDE 引用超过 4 GB 的物理内存。
在基于 x64 的系统上运行的 32 位 Windows 中,PAE 还支持多种高级系统和处理器功能,包括支持硬件 的数据执行防护 (DEP) 、 非统一内存访问 (NUMA) ,以及 (热添加内存) 向系统添加内存的功能。

PAE 不会更改进程可用的虚拟地址空间量。 在 32 位 Windows 中运行的每个进程仍限制为 4 GB 虚拟地址空间。

PAE 的系统支持
PAE 仅在基于 x86 的系统上运行的以下 32 位版本的 Windows 上受支持:
仅 Windows 7 (32 位)Windows Server 2008 仅 (32 位)Windows Vista 仅 (32 位)Windows Server 2003 仅 (32 位)仅 Windows XP (32 位)

启用 PAE
如果在支持支持硬件的 DEP 的计算机上启用了 DEP,或者如果计算机配置为内存范围超过 4 GB 的热添加内存设备,则 Windows 会自动启用 PAE。 如果计算机不支持启用硬件的 DEP,或者未针对内存范围超过 4 GB 的热添加内存设备进行配置,则必须显式启用 PAE。

若要显式启用 PAE,请使用以下 BCDEdit /set 命令设置 pae 启动条目选项:
bcdedit /set [{ID}] pae ForceEnable
如果启用了 DEP,则无法禁用 PAE。 使用以下 BCDEdit /set 命令禁用 DEP 和 PAE:
bcdedit /set [{ID}] nx AlwaysOff
bcdedit /set [{ID}] pae ForceDisable
Windows Server 2003 和 Windows XP:若要启用 PAE,请使用 boot.ini 文件中的 /PAE 开关。 若要禁用 PAE,请使用 /NOPAE 开关。 若要禁
用 DEP,请使用 /EXECUTE 开关。

比较 PAE 和其他大型内存支持
PAE、 4 GB 优化 (4GT) ,以及 地址窗口扩展 (AWE) 具有不同的用途,可以彼此独立使用:
PAE 允许操作系统访问和使用超过 4 GB 的物理内存。4GT 将可供进程使用的虚拟地址空间部分从 2 GB 增加到 3 GB。AWE 是一组 API,允许进程分配非分页物理内存,然后将此内存的一部分动态映射到进程的虚拟地址空间。当未使用 4GT 和 AWE 时,单个 32 位进程可以使用的物理内存量受其地址空间大小限制 (2 GB) 。 在这种情况下,已启用 PAE 的系统仍然可以使用超过 4 GB 的 RAM 来同时运行多个进程或在内存中缓存文件数据。
4GT 可与 PAE 一起使用,也可以不带 PAE 使用。 但是,某些版本的 Windows 会限制使用 4GT 时可以支持的最大物理内存量。 在此类系统上,在启用 4GT 的情况下启动会导致操作系统忽略超出限制的任何内存。
AWE 不需要 PAE 或 4GT,但通常与 PAE 一起使用,以便从单个 32 位进程分配超过 4 GB 的物理内存。

https://learn.microsoft.com/zh-cn/windows/win32/memory/physical-address-extension?redirectedfrom=MSDN
[4 楼] washu [泡菜]
2-19 20:17
老高 发表于 2025-02-19 18:02
情况是这样:单位有若干32位win7的机器,只有4G内存,但是集成显卡又占用了本就不多的内存的一部分。
现在问题是:如果我在加一条4G内存,怎样才能让显卡使用这部分内存做显存
不讨论为啥不升级成64位系统,有很多原因。。。


不能,因为 GPU 对显存的访问是驱动决定的(实际上独显也能用系统内存做显存,显卡上的显存爆掉的时候就会这样干),而驱动也运行在操作系统里,所以只能访问操作系统能访问的内存范围。
[3 楼] 流浪大猫 [泡菜]
2-19 19:06
集显对内存的占用是动态分配的,如果应用不需要使用大量显存是不会占用的,而如果应用需要而人为限制只会让应用无法正常运行,另外32位系统除非系统支持PAE,否则升级内存并没有意义。
[2 楼] Trompette [泡菜]
2-19 18:28
加物理内存没有用
只能在 BIOS 里限定分给集显的内存,老机器也许能设到 16M