C# windows中的等效任务集
在Linux中,有一个实用程序,允许您为某个进程设置CPU相关性 Windows环境中是否有相应的软件?C# windows中的等效任务集,c#,windows,performance,C#,Windows,Performance,在Linux中,有一个实用程序,允许您为某个进程设置CPU相关性 Windows环境中是否有相应的软件? 我想为我的产品设置最大CPU阈值,Windows中是否有提供此功能的现有机制 如果有帮助的话,我的产品是在.Net中开发的 谢谢是的,有: 启动一个单独的窗口以运行指定的程序或命令。 开始[“标题”][/D路径][/I][/MIN][/MAX][/SEPARATE |/SHARED] [/低/正常/高/实时/高于正常/低于正常] [/NODE][/AFFINITY][/WAIT][/B] [
我想为我的产品设置最大CPU阈值,Windows中是否有提供此功能的现有机制 如果有帮助的话,我的产品是在.Net中开发的 谢谢是的,有:
启动一个单独的窗口以运行指定的程序或命令。
开始[“标题”][/D路径][/I][/MIN][/MAX][/SEPARATE |/SHARED]
[/低/正常/高/实时/高于正常/低于正常]
[/NODE][/AFFINITY][/WAIT][/B]
[命令/程序][参数]
特别是/AFFINITY
选项
关联将处理器关联掩码指定为十六进制数。
该进程仅限于在这些处理器上运行。
当/affinity和
/节点是组合的。将关联掩码指定为NUMA
节点的处理器掩码右移,从位0开始。
该进程仅限于在中的处理器上运行
指定的关联掩码和NUMA节点之间的公用项。
如果没有共同的处理器,则该进程仅限于
在指定的NUMA节点上运行。
如果只想绑定到CPU 0,请指定0x1
的关联掩码。要绑定到CPU 1,掩码应为0x2
。要绑定到CPU 0和CPU 1,掩码应为0x3
,依此类推
您还可以通过将相同的十六进制掩码值分配给当前进程实例的ProcessorAffinity
属性来设置代码中的CPU相关性,该属性可通过调用System.Diagnostics.process.GetCurrentProcess()
获得:
使用系统诊断;
Process.GetCurrentProcess().ProcessorAffinity=(IntPtr)0x3;
自动执行此操作或仅用于手动操作将是两个示例。但请注意,“亲和力”和“阈值”实际上并不相同。一般来说,当一个程序有工作要做时,它消耗100%的CPU是非常好的(而阻塞,即当它没有工作要做时消耗0%)。