windows – 是否可以设置服务的处理器关联,并在重新启动后保持此
发布时间:2020-12-13 19:30:01 所属栏目:Windows 来源:网络整理
导读:是否有可以更改的设置(或可以添加的reg键)来设置服务的处理器关联?我想设置亲和力,并在重新启动后保持此设置(因此在启动服务后手动更改关联对我不起作用). 某些服务(如IIS)的构建能够从注册表中读取位掩码,并在启动时使用它来设置自己的CPU关联,但这不是每
是否有可以更改的设置(或可以添加的reg键)来设置服务的处理器关联?我想设置亲和力,并在重新启动后保持此设置(因此在启动服务后手动更改关联对我不起作用).
某些服务(如IIS)的构建能够从注册表中读取位掩码,并在启动时使用它来设置自己的CPU关联,但这不是每个服务的功能.
我可能会创建一个设置为触发事件的任务,事件将是“MyService service is started”…在系统事件日志中.然后该任务将运行此Powershell代码: # TODO: Add error checking Add-Type -TypeDefinition @' using System; using System.Runtime.InteropServices; public class Affinity { [DllImport("kernel32.dll")] static extern bool SetProcessAffinityMask(IntPtr Handle,UIntPtr AffinityMask); public static void SetAffinity(IntPtr Handle,UIntPtr AffinityMask) { SetProcessAffinityMask(Handle,AffinityMask); } } '@ $Process = Get-Process MyService If (-Not($Process)) { Return } # This is a bitmask. $AffinityMask = New-Object UIntPtr 1 # TODO: Foreach loop to set affinity for each instance of the process [Affinity]::SetAffinity($Process.Handle,$AffinityMask) 编辑:哈哈,对不起,这比它需要的更复杂. Powershell已经通过简单的操作内置了这种能力: $Process = Get-Process MyService $Process.ProcessorAffinity = 1 位掩码表示十进制值1表示“仅第一个CPU”,十进制值为2(二进制10)表示“仅第二个CPU”,十进制值为3(二进制11)表示“CPU 1和2”,等等等等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2008 – 如何为Windows 2008安装Active Dir
- 如何在批处理文件中压缩Windows中的文件?
- 升级到Windows 10后,Git-Bash命令提示符将无法打开
- 确定当前用户是否在Administrators组中(Windows / Python)
- 部署WINDOWS ISA防火墙策略的十六条守则
- 有一个WPF与System.Windows.Forms.Screen等同吗?
- windows – django-admin.py startproject打开记事本,而不是
- windows – 以具有SVN修订号的MFC应用程序编程更新FILEVERS
- Jmeter无GUI启动
- microsoft-edge – 如何在Windows Store上发布Edge扩展?
推荐文章
站长推荐
- UWP和Windows Phone 8.1上的Xamarin.Forms中的We
- 从服务器入手防止.mdb文件被下载的方法
- windows – 使用git客户端和SVN存储库的最佳工具
- winapi – Win32 CRITICAL_SECTION包含什么?
- windows-10 – IIS报告在WLS Bash中创建的文件夹
- windows – AVX寄存器如何通过公共调用约定处理?
- 根据windows下的iconv构建Haskell程序
- windows-xp – Linux“traceroute -A”(AS路径查
- windows – 为什么:可见,控制分配了影响应用程序
- windows – 文件夹图标更改不会生效
热点阅读