AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 27352
Accepted
Bogdan_Ch
Bogdan_Ch
Asked: 2009-06-18 07:19:34 +0800 CST2009-06-18 07:19:34 +0800 CST 2009-06-18 07:19:34 +0800 CST

对于 32 位 Windows,boot.ini 中的“/3Gb”开关有什么缺点吗?

  • 772

Microsoft 建议在 Boot.ini 中使用 /3Gb 开关,以便为在 32 位系统上运行的进程获取更多内存。

目前我需要大量内存用于devenv进程(Visual Studio 2008),因为我有一个复杂的解决方案,它有很多项目和表单,并且在设计时消耗大量资源。

我想问一下,如果有人知道,使用 /3Gb 开关有哪些负面影响,有没有不建议使用它的情况。

windows performance memory 32-bit
  • 7 7 个回答
  • 10275 Views

7 个回答

  • Voted
  1. Best Answer
    Evan Anderson
    2009-06-18T07:26:14+08:002009-06-18T07:26:14+08:00

    在台式机上,可能没有问题。在带有 /3GB 开关集的 W2K3 / WXP 机器上,内核分页池更小。对于台式机来说,这可能不是问题,因为您不应该接近耗尽内核分页池。在服务器上,耗尽内核分页池会给您带来问题,而且您更有可能耗尽它。

    这里有一些关于与 /3GB 开关相关的内核内存注意事项的详细信息。如果您真的想要,您可以启动 NT 内核调试器并在更改前后使用此文档中的信息来分析您的系统:http: //blogs.technet.com/markrussinovich/archive/2009/03/26 /3211216.aspx

    • 11
  2. crb
    2009-06-18T07:25:15+08:002009-06-18T07:25:15+08:00

    您的内核可用内存将减少 - 开关调整内核模式地址空间/用户模式地址空间拆分,以前是 2GB 到 2GB,再到 1GB 到 3GB。在继续之前,请阅读Raymond Chen在 /3GB 上的帖子以及后续内容。

    • 5
  3. Jack Bolding
    2009-06-18T07:44:59+08:002009-06-18T07:44:59+08:00

    在进行任何更改之前,您应该首先检查您要运行的进程是否与 LARGEADDRESSAWARE 标志链接。使用该标志,进程使用内存的方式不会发生任何变化。

    您可以为此使用 SDK 工具:

    dumpbin /headers exeName

    吐出的标题应包括:

    应用程序可以处理大 (>2GB) 地址

    我对 devenv.exe 进行了检查,在 VS2008 中它确实包含了标志。

    • 5
  4. Maximus Minimus
    2009-06-18T10:59:41+08:002009-06-18T10:59:41+08:00

    很多缺点。默认情况下,Windows 会为每个进程分配一个 4GB 的内存池,它在内核模式进程(所有应用程序通用)和用户模式进程(每个应用程序唯一)之间按 50/50 分割(简化解释)。因此,在系统上运行的应用程序有 2GB 的内存可供使用,而系统本身有它自己的 2GB。重要提示:第​​二个 2GB 与系统上运行的所有应用程序的 2GB 相同。

    /3GB 开关调整拆分,使内核模式获得 1GB,用户模式获得 3GB。

    现在考虑您正在运行的应用程序。其中一些需要更多的内核模式空间,一些需要更多的用户模式空间。由于内核模式池是共享的,如果您运行的应用程序使内核模式内存处于压力之下,您可能会很快耗尽那里的内存。另一方面,如果您的应用程序使用大量用户模式内存,则实施 /3GB 将为他们提供所需的空间。

    因此,这实际上取决于您要运行的应用程序的性质。黄金法则是咨询应用程序供应商并阅读文档;特别是如果应用程序供应商没有任何建议,您应该开始怀疑......他们是否正确测试了他们的应用程序?这是每个供应商都应该知道的基本知识。

    这里有一个很好的讨论:http: //blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx

    在您的特定情况下,我认为切换到 64 位并获得更多 RAM 将是一个更可行的解决方案,因为 /3GB 并不能真正满足您的需求(它甚至可以在 XP 上运行吗?)

    • 4
  5. Ward - Reinstate Monica
    2009-06-18T07:26:08+08:002009-06-18T07:26:08+08:00

    我们已经在几个在大量大图像上运行图像处理应用程序的系统上使用了它,并且从未发现任何问题。在任何需要额外 Gig 应用程序内存的情况下,您可能会让应用程序运行而不对系统执行任何其他操作,因此可能不会产生太大影响。

    • 1
  6. 3dinfluence
    2009-06-18T07:46:35+08:002009-06-18T07:46:35+08:00

    我已经看到它以奇怪的方式干扰视频卡。但是,如果没有正确编写,任何驱动程序都可能会在此开关上出现异常。

    有时这些问题可以通过添加 /USERVA 开关来解决。

    http://support.microsoft.com/kb/319043
    http://support.microsoft.com/kb/833721
    http://support.microsoft.com/kb/839490
    http://support.microsoft.com/kb /316739

    • 1
  7. gbn
    2009-06-18T08:58:01+08:002009-06-18T08:58:01+08:00

    它只能在 LARGEADDRESSAWARE 二进制文件的企业服务器操作系统上可靠地工作(调试驱动程序等除外)。

    devenv 不是这样的二进制文件。例如,SQL Server 和 Exchange。

    您需要 x64 位操作系统和VS x64编辑:在 x64 上检测到 LARGEADDRESSAWARE以打破 2GB 限制。

    • 1

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve