我正在尝试运行一个内存密集型程序,该程序需要超过 4 GB 的内存。我在 64 位处理器上运行它,我有 16 GB 的 RAM(我也可以看到)。但程序崩溃了。所以我无法在 64 位处理器上为一个进程使用超过 4GB 的内存。我该如何解决这个问题?
编辑:问题是处理器是 64 位的,操作系统支持 64 位处理器。我试图运行需要大量内存的 C 代码,因为它是视频处理代码。但是当所需内存超过 4 GB 时,它就会崩溃,即使可以看到 16 GB 的 RAM。
操作系统是Windows Server 2003。
答案1
如果您的程序是 32 位程序,则无论您在什么处理器或操作系统上运行它,它都不能使用超过 4GB...
您是否确定您的程序已编译为 64 位,并且您在 64 位操作系统上运行它?
从问题中很难判断,但您是否希望运行一些现成的软件并让其使用超过 4GB 的 RAM?除非它是专门为 64 位编译的,否则这行不通,而大多数现成的 Windows 软件都不是 64 位的。