c# 仍然返回错误的核心数

2023-12-27

好的,所以我发布了在 C# 中 GetEnvironmentVariable("NUMBER_OF_PROCESSORS") 返回错误的数字 https://stackoverflow.com/questions/11571994/in-c-sharp-getenvironmentvariablenumber-of-processors-returns-the-wrong-numb询问如何在 C# 中获得正确的核心数量。一些乐于助人的人向我提出了几个问题,其中提出了类似的问题,但我已经尝试过这些解决方案。然后我的问题被关闭,因为与另一个问题相同,这是事实,但那里给出的解决方案不起作用。因此,我正在打开另一个解决方案,希望有人能够帮助认识到其他解决方案不起作用。

那个问题是如何通过.NET/C# 查找CPU 核心数? https://stackoverflow.com/questions/1542213/how-to-find-the-number-of-cpu-cores-via-net-c它使用 WMI 来尝试获取正确的核心数量。好吧,这是那里给出的代码的输出:

Number Of Cores: 32
Number Of Logical Processors: 32
Number Of Physical Processors: 4

根据我的最后一个问题,该机器是运行 Windows Server 2008 R2 HPC 版本的 64 核 AMD Opteron 6276(4x16 核)。

无论我做什么,Windows 似乎总是返回 32 个核心,尽管有 64 个核心可用。我已经确认机器仅使用 32 个核心,如果我硬编码 64 个核心,那么机器将使用所有这些核心。我想知道 AMD CPU 的检测方式是否存在问题。

仅供参考,如果您还没有阅读最后一个问题,如果我在命令行输入 echo %NUMBER_OF_PROCESSORS",它将返回 64。它只是不会在编程环境中执行此操作。

谢谢, 贾斯汀

更新:输出 PROCESSOR_ARCHITECTURE 从命令行返回 AMD64,但从程序返回 x86。该程序是在 64 位硬件上运行的 32 位程序。我被要求将其编译为 64 位,但它仍然显示 32 个核心。


感谢您的帮助,但我已经找到问题所在了。正如我所料,这是AMD的设计造成的。他们正在使用一种称为 MCM(我认为是多芯片模块)的新架构,该架构会导致 Windows 无法正确识别内核数量。我将其发布为解决方案,以防其他人遇到它。一位同事指导我找到了一个修补程序,网址为http://support.microsoft.com/kb/2711085 http://support.microsoft.com/kb/2711085

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# 仍然返回错误的核心数 的相关文章

随机推荐

  • Java简单网络IP地址扫描器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想制作自己的 ip 扫描器 扫描本地网络上的可用 ip 就像 Angry IP Scanner 那样 我还想获取一些基本的设备信息
  • Rails 中同一个类的多个关联的最佳实践?

    我认为我的问题最好作为一个例子来描述 假设我有一个名为 Thing 的简单模型 它有一些简单数据类型的属性 就像是 Thing foo string goo string bar int 这并不难 db 表将包含具有这三个属性的三列 我可以
  • 如何用 PHP 计算 AWS 签名?

    我正在 bref 中编写一个 webhook 并希望它向 SQS 发送消息 为此使用整个 AWS SDK 是一种巨大的浪费 我如何计算签名 const AWS DATETIME FORMAT Ymd THis Z url getenv SQ
  • 如何查看php的执行时间? [复制]

    这个问题在这里已经有答案了 我的网站中有大量 PHP 代码 我想知道执行时间处理时间的处理 我怎样才能做到这一点 您可以使用microtime as the start and end你的 PHP 代码
  • Spark 结构化流 ForeachWriter 和数据库性能

    我已经尝试过像这样实现结构化流 myDataSet map r gt StatementWrapper Transform r writeStream foreach MyWrapper myWriter start awaitTermin
  • 如何在 ASP.NET Core 中将备用文件夹配置为 wwwroot?

    是否可以配置不同的文件夹来替换wwwroot在 ASP NET Core 中 如果是的话 怎么办 这种改变有副作用吗 目前唯一包含的配置wwwroot在整个项目中发现project json如下面的代码所示 但用新文件夹的名称替换该值对于静
  • 高阶函数,如何在不铸造的情况下从模型中推导出注入类型

    我有点坚持这个非常简单的想法 想象一下 我们有一个简单的高阶函数 它接受另一个函数和某个对象并返回另一个函数 const hof callback data gt model gt callback data model 现在我想做的是 类
  • 如何在 iOS 7 和 iOS 8 中锁定设备方向

    我的应用程序有问题 我无法锁定应用程序的方向 我需要做的就是将一个视图控制器锁定为横向模式 其余的为纵向模式 这是我的应用程序的层次结构 Navigation Controller TabBarController ViewControll
  • 更新函数内的全局 js 变量并将更新后的内容发送到 HTML 文档

    我在更新全局变量并将更新后的内容发送到 HTML 时遇到了很大的困难 我在 HTML 中有以下内容 We found places for you 在 JavaScript 中 var mainCount 3 Global variable
  • 如何在 PyMuPDF 中获取文本的背景颜色

    我试图看看是否可以使用文本的背景和前景色识别 PDF 内表格中可能的表格标题 通过 PyMuPDF 文本提取 我能够获得前景色 想知道是否有办法也获得背景颜色 我使用 pymupdf 1 16 2 和 python 3 7 我已检查过文档
  • NSPointerArray 奇怪的压缩

    我有一个弱者NSPointerArray和一些NSObject已被释放 致电之前compact我看到的是 lldb po currentArray count 1 lldb po currentArray pointerAtIndex 0
  • Next.js - router.push 无需滚动到顶部

    我正在通过导入使用下一个路由器useRouter from next router 我正在尝试找到一种解决方案 当我更改 URL 的查询时 该解决方案不会滚动到页面顶部 有什么解决办法吗 我知道 Next 的 Link 组件有这个选项 但我
  • 创建 CSS 网格布局

    我需要使用 CSS 网格创建一个布局 如下图所示 分辨率高于 900px For resolutions below 900px I need the layout to look like this 到目前为止 我已经尝试过 contai
  • 如何在Java中获取当前日期/时间[重复]

    这个问题在这里已经有答案了 在 Java 中获取当前日期 时间的最佳方法是什么 在 Java 中获取当前日期 时间的最佳方法是什么 没有 最好 的方法 这取决于您想要什么形式的日期 时间 If you want the date time
  • 如何使用 ANTLR4 创建 AST?

    我对此进行了很多搜索 但找不到任何有用的东西可以真正帮助我构建 AST 我已经知道 ANTLR4 不像 ANTLR3 那样构建 AST 每个人都说 嘿 使用访问者 但我找不到任何示例或更详细的解释如何做到这一点 我有一个必须像 C 语言一样
  • LINQ 内部如何工作?

    我喜欢在 NET 中使用 LINQ 但我想知道它的内部工作原理是什么 询问 LINQ 的某个特定方面更有意义 这有点像问 Windows 是如何工作的 从 C 的角度来看 LINQ 的关键部分对我来说是 表达式树 这些是代码作为数据的表示
  • 带有选项字段的 F# 记录在 Asp.Net WebApi 2.x 应用程序中无法正确反序列化

    我有一个 C Asp Net MVC 5 2 7 应用程序 支持面向 Net 4 5 1 的 WebApi 2 x 我正在尝试使用 F 并向解决方案中添加了一个 F 库项目 Web 应用程序引用 F 库 现在 我希望能够让 C WebApi
  • System.Data.Entity.Infrastruct.CommitFailedException:C# 多线程和 SQL Server 2012

    我们有一个 C 多线程 100 个线程 程序 它从数据库读取记录 每个线程获取一条记录 每个线程一个实体框架连接 并更新单个数据库表 在最初的几分钟 5 分钟 内 程序运行良好 没有异常 然后突然所有线程开始抛出以下错误消息 大约 1 分钟
  • 参数化 SQL、ORACLE 与带有正则表达式的 SQL Server

    Oracle 和 Sql 服务器在参数化字符串中使用不同的参数前缀 sql使用 p1 ORA使用 p1 我想在我的 SQL 中使用 如果使用 ORA 数据库 字符应替换为 你能帮我创建正则表达式吗 下面是一些 SQL 示例 update t
  • c# 仍然返回错误的核心数

    好的 所以我发布了在 C 中 GetEnvironmentVariable NUMBER OF PROCESSORS 返回错误的数字 https stackoverflow com questions 11571994 in c sharp