利用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

 

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

你可能感兴趣的:(JavaScript,js,服务器内存监控)