监控windows系统的cpu使用情况,python自动重启IIS

目前业务上有几台windows的老机器,经常IIS使用过高。导致服务器down机,上次查过一次,是IIS占用cpu过高引起的,至于为什么是IIS占用资源过高,自己脑补。。。。。最傻瓜的方式就是:iisreset /restart。

工作日的时候,一般都是在自动化管理平台上去重启一下就可以了,但是周末有时候人在外面,旁边没有电脑,这几台机器cpu又高的话,只能选择用脚本来控制。

下面分享两个脚本,一个是bat的  一个是python的。可以根据各自的需求来修改下面的脚本。

python脚本

# -*- coding:utf-8 -*-
# Author:Blacksmith

import psutil
import os

def getcpu():
    cpu_percent = psutil.cpu_percent(interval=10,percpu=False)
    return cpu_percent

def restart_iis():
    cpu_percent = getcpu()
    if cpu_percent > 80:
        os.system('iisreset /restart')

if __name__ == '__main__':
    restart_iis()

bat脚本

 
@echo off
for /f "tokens=2 delims==" %%a in ('wmic path Win32_PerfFormattedData_PerfOS_Processor get PercentProcessorTime /value^|findstr "PercentProcessorTime"') do (
set UseCPU=%%a
)
echo CPU使用率:%UseCPU%%%

if %UseCPU% gtr 90 (iisreset /start)

pause

数据运维技术 » 监控windows系统的cpu使用情况,python自动重启IIS