,我应该禁用NUMA运行Windows Server 2008 R2 SP1。我正在运行的应用程序不是在考虑NUMA的情况下设计的。在我的双路系统上禁用NUMA会更好吗?我的猜测是肯定的,但我想证实。我的服务器是Westmere双路系统。如果我的应用程序不是NUMA-Aware
1
A
回答
1
如果您的应用程序不是多线程的或者是多线程的,但并未使用线程在同一问题上同时工作(例如不是数据并行),那么您可以简单地将程序绑定到其中一个NUMA节点。这可以用各种工具完成,例如,在Windows任务管理器中使用“Set Affinity ...”上下文菜单命令。如果你的程序是并行的,那么你仍然可以使用一半可用的进程核心并绑定到一个NUMA节点。
请注意,Westmere系统上的远程内存访问并不昂贵 - 延迟是本地访问的1.6倍,且带宽与本地访问几乎相同,因此如果您对每个内存值进行了大量处理影响会很小。另一方面,在这样的系统上禁用NUMA会导致两个NUMA域的细网格交错,这使得所有应用程序的性能都差不多,因为所有内存访问的大约50%将是本地的,而50%将是远程的。
1
如果我理解正确,开启NUMA不会损害性能。
如果您的应用程序不支持NUMA,则访问将由操作系统管理,因此可能跨越NUMA节点或可能位于同一个节点上 - 具体取决于操作系统具有的其他压力,多少内存/重新使用等等。操作系统会尽力让你的数据更快。
如果将它关闭,操作系统甚至不知道甚至尝试将每个应用程序的执行CPU保持在其内存附近。
相关问题
- 1. 如果其他statment不是在我的应用程序
- 2. 我的应用程序是无法接收的数据如果是在后台,如果应用程序是由任何其他应用程序在Android中
- 3. 保存应用程序的数据,如果我更新应用程序,不会丢失应用程序
- 4. PackageManager是不是救了我的应用程序/应用程序文件夹
- 5. 如果我的应用程序不支持iphone6会怎么样?
- 6. 如果我的应用程序重定向到设置页面,苹果应用程序是否会拒绝我的应用程序?
- 7. “CDO.Message”不是我Delphi应用程序
- 8. 如果我不会在我的应用程序中使用拆分视图,苹果是否会拒绝我的iPad应用程序?
- 9. 如何开发iOS应用程序,如果我买不起Mac?
- 10. 注销我的应用程序,如果注销Facebook的应用程序
- 11. 如果我删除Xcode的Info.plist(不是应用程序plist),该怎么办?
- 12. 如果一个应用程序给我System.ArgumentOutofRangeException,这是否意味着它是应用程序中的错误?
- 13. 如何配置AutoMapper,如果不是ASP.net应用程序?
- 14. 我的程序应该是应用程序还是服务?
- 15. 苹果是否会拒绝我的应用程序 - 如果我不使用分割视图?
- 16. 我的应用程序崩溃,如果我使用dispatch_async
- 17. 如果我用我的应用程序添加地点
- 18. UIRemoteNotificationType是UIRemoteNotificationTypeNone另外,如果是在我的应用程序启用
- 19. 我的应用程序崩溃。不幸的是,应用程序已停止
- 20. 如果我的应用程序包名称与应用程序商店中的现有应用程序相同,我如何启动android应用程序?
- 21. 如何检测,如果应用程序是在Mac应用
- 22. SBJsonParser:如果我不保留返回值,应用程序崩溃
- 23. 我的应用程序是否缺少应用程序层?
- 24. 模拟器应用程序不是我写的应用程序吗?
- 25. iOS:如果使用armv6构建iOS应用程序,我的iPad应用程序是否会被拒绝?
- 26. 如果我提交我的应用程序NSZombieEnabled = YES
- 27. 服务将关闭,如果我关闭我的应用程序
- 28. 苹果拒绝我的iPad应用程序,如果它不旋转?
- 29. 苹果是否会拒绝我的新应用程序-iPhone sdk
- 30. 如果应用程序崩溃,JUnique锁定的应用程序不会运行
当然,如果您的应用程序使用来自多个线程的单个巨大内存池,肯定会损害性能。此外,如果一个节点使用所有分配的RAM(即使其他节点有一些空闲的RAM),NUMA更有可能导致交换 – noonex 2014-11-14 08:37:57
但是,不管是否在操作系统级别启用NUMA,这都不适用? – mjaggard 2014-11-14 11:50:48
我没有尝试NUMA基准测试,但从理论上看--NUMMA不尊重CPU之间共享的内存。同样,如果所有的RAM都被其中一个NUMA节点占用,并且其他节点拥有大量可用内存,则可能会发生交换。 – noonex 2014-11-15 16:50:30