100高分请悬赏VBS/批处理高手解决史上最难的难题,菜鸟请飘过

.我公司有一台服务器.最近APAHCE老是占用CPU50%以上 MYSQL也是占用40%左右.一般到晚上8点的时候就会占用CPU100%,现在站点一挂只好人工去重启服务.我想请高手帮忙解决一下这个难题,要求如下,假如,APACHE服务进程http.exe进程CPU占用率为50%以上且持续15不变的话,则执行net stop apache net strat apache(这个我已经写成批处理了),否则继续监控MYSQL进程mysqld.exe CPU占用率为50%以上且持续15不变的话则执行net stop mysql net start mysql(已写成批处理文件,调用即可),如果两个都没有问题,就间隔10分钟监控一次.谢谢.请高手解决,搞的我痛苦死了,一有问题还得往机房跑,真是命苦,那位高手把我丛痛苦中解脱吧,感激不尽.

由于时间有限,要达到你的要求,调试要很长时间,所以只写了批处理,由于批处理不能对单个进程的CPU使用率监控,所以要用批处理和VBS结合使用,以达到最好的效果,VSB获取单个进程CPU使用率的脚本我会发给你的.
思路:首先用VBS分别获取http.exe进程与MYSQL进程的CPU占用率,每2秒种一次分别写入1.TXT和2.TXT,并要求每次写入时覆盖上次写入的(就是即时写入),然后写一个这样的批处理调用你的2个BAT和1.2TXT就行了,批处理如下:
@echo off
:1
echo 监控中!
ping 127.0.0.1 -n 2 1>nul 2>nul
for /f %%i in (1.txt) do if %%i gtr 50 call :2
for /f %%b in (2.txt) do if %%b gtr 50 call :3
call 这里建议写一个还原设置的bat
ping 127.0.0.1 -n 600 1>nul 2>nul
goto 1
rem 如果不出现以上情况则10分钟执行一次本项
goto :eof
:2
ping 127.0.0.1 -n 900 1>nul 2>nul
rem 第一项每2秒读一次给第2项,如果15分钟内都大于50%才执行本项
echo 超出设置,激活计划A!
call 你写的第一个.bat
goto :eof
:3
ping 127.0.0.1 -n 900 1>nul 2>nul
rem 第一项每2秒读一次给第3项,如果15分钟内都大于50%才执行本项
echo 超出设置,激活计划B!
call 你写的第二个.bat
==========VBS:获取单个进程的CPU使用率已经离线发给你,在此不发. 发了三次!!!
温馨提示:答案为网友推荐,仅供参考
相似回答