我曾尝试将smss.exe的核心关联设置为不在Windows 7和Windows Server 2008r2上的一个关键核心上运行。 事实certificate,简单地设置核心的亲和力(即使是完整的面具,smss.exe已经有)似乎工作,但阻止用户rdp'ing到机器,直到它重新启动。 已经login的用户可能会继续使用他们的会话。
Windows 8 / Windows Server 2012上不会发生此行为。
有谁知道为什么会发生?
Smss.exe(会话pipe理器)对于创build新的用户会话是完全不可或缺的,包括远程login时的terminal服务会话。
当Smss开始时,它检查它是第一个实例(主Smss)还是Smss主创build会话的一个实例。
根据Mark Russinovich的Windows Internals书籍,Smss.exe包含了一些以特殊方式利用处理器关联性的algorithm:
“通过在启动和创buildterminal服务会话期间创build自己的多个实例,Smss可以同时创build多个会话(最多可以有四个并发会话,另外还有一个超出一个的额外CPU)。
和:
如果系统支持热处理器添加,则启用自动处理器关联更新,以便如果添加新处理器,则新会话将利用新处理器。
调整进程的亲和性掩码可能会干扰这些algorithm。
所以总之,不要那样做。 无论你想要完成什么,你很可能会以错误的方式去做。