利用JS监控内存

在服务器上运行程序,有时会出现某些进程会占着内存不释放,久而久之会出现内存不够用的情况,为此我们需要一个后台程序,在不断的监控着内存,而且我们可以设置当内存达到一定的值时,就将那些占着内存不释放进程强制杀死。

 

其实实现该功能的方法有很多,在此我采用无所不能的javascript来解决这个问题。

 

模拟的情境:

在当内存不足10M时,将iexplore.exe进程全部杀死。

 

代码如下:

monitorMemory.js

function monitorMemory() {
    var oWMI = GetObject("Winmgmts:");
    var oRefresher = new ActiveXObject("WbemScripting.SWbemRefresher");
    var oMemory = oRefresher.AddEnum(oWMI,"Win32_OperatingSystem").ObjectSet;
    
    do {
        oRefresher.Refresh();
        
        var colMemory = new Enumerator(oMemory);

        // 可用内存
        var memory = parseInt(colMemory.item().FreePhysicalMemory);
        
		// 当内存不足10m,调用杀死进程方法
        if (memory < 10240) {
            killProcess();
        }
    
        WScript.Sleep(300);
    } while(true);
}
monitorMemory();

function killProcess() {
    var cmd = new ActiveXObject("WScript.Shell");
    cmd.Run("wmic process where name='iexplore.exe' call terminate");
}

 

 

启动程序命令:

在cmd命令下,切换该js文件所在目录,然后输入:

wscript monitorMemory.js

 

这样就可以完成监控了。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值