powershell限制进程的CPU的相似性(Set Affinity)

最近两天监控到站点使用CPU过高,考虑在4核的服务器上限定站点最多使用3个核,即限定站点的最高CPU使用率为75%;

(1)使用计划任务定期执行以下powershell脚本;

1
2
3
4
5
6
7
8
9
10
11
<#   
Script's function: set affinity of w3wp.exe to CPU1,CPU2,CPU3    
Script Editor: Snail     
Date: 2014-08-08    
Refer to Website:    
http://technet.microsoft.com/zh-cn/subscriptions/index/system.diagnostics.process.processoraffinity    
http://waynes-world-it.blogspot.com/2009/06/processor-affinity-on-windows-server.html    #>
$w3wps=get-process -processname "w3wp"   
foreach ($w3wp in $w3wps) {       
   $w3wp.ProcessorAffinity = 0x0E    
}

关于“0x0E”的解释参考网址:http://technet.microsoft.com/zh-cn/subscriptions/index/system.diagnostics.process.processoraffinity

 

(2)手动操作指定;(此方法有一定时效性,需每天手动操作一次,属临时性;)

1.打开资源管理器,找到需要限定的站点;右击,选择“Set Affinity…”

powershell限制进程的CPU的相似性(Set Affinity)

2.勾选指定的CPU,点击OK即可;

powershell限制进程的CPU的相似性(Set Affinity)

 

(3)使用WSRM限定;(不推荐使用,wsrm功能在server 2012后已经取消,由hyper-v部分功能代替)





本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1537320,如需转载请自行联系原作者
上一篇:遭遇 Svchost.exe 进程占用CPU 100%


下一篇:利刃 MVVMLight 5:绑定在表单验证上的应用