Board logo

标题: [问题求助] powershell获取系统占用cpu高于50%的进程并结束掉 [打印本页]

作者: 692568516    时间: 2018-12-12 13:42     标题: powershell获取系统占用cpu高于50%的进程并结束掉

最近服务器w3wp 进程总是超,请问如何用powershell获取系统上所有进程并将高于50%的进程给kill掉
作者: ivor    时间: 2018-12-12 20:41

w3wp 是iis系统进程,结束有风险
作者: xczxczxcz    时间: 2018-12-12 20:47

不知道任务管理器中的百分率是如何计算出来的。给一个供参考。
  1. $ErrorActionPreference='SilentlyContinue'
  2. get-process | sort -desc 'cpu'|%{
  3. $name=$_.name
  4. $cpu=(Get-Counter "\Process($name*)\% Processor Time").CounterSamples.CookedValue
  5. $n=[Double]$cpu / [Environment]::ProcessorCount
  6. write-host 'cpu占用率:'$name': '$n -fore yellow
  7. if ($n -gt 50){stop-Process -name $name -force -whatif}
  8. }
  9. pause
复制代码
=========enjoy============
作者: Batcher    时间: 2018-12-12 21:43

应该调查一下为啥w3wp占用那么高的CPU,是不是IIS里面部署的应用程序有bug呢,直接杀进程不能从根本上解决问题吧。
作者: 692568516    时间: 2018-12-12 21:51

谢谢




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2