,我應該禁用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