微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript获取当前cpu使用率的方法

本文实例讲述了JavaScript获取当前cpu使用率的方法分享给大家供大家参考,具体如下:

获取当前系统cpu的使用率,如果允许使用hta,可以使用以下的代码获取当前cpu的使用率(较为精确)

rush:js;"> setInterval(function() { var locator=new ActiveXObject ("WbemScripting.SWbemLocator"); var service=locator.ConnectServer("."); var cpu=new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item(); document.title = cpu.LoadPercentage; },1000);

如果不允许使用上面的方法,在正常的网页中是否有更合适的方法进行粗略的估算?

思路就是用一个定时器,假设间隔执行时间为500ms,当调用它时,判断从开始计时到本次执行所用时间,如果两者之差 == 500 则基本上可以认定为比较正常,如果 > 500+ 则针对不同的值来判定cpu的繁忙状况(因为不同的机器,cpu处理能力不太一样,所以这个最多只是粗略的估算不完全准确,对系统的一些参数有较强的依赖性)

rush:js;"> function cpuSimulator() { var J = 100,getNow = function() { return new Date().getTime(); }; !(function() { var I = document.createElement("div"),s = 50,fn = function(l) { l = 1; var Now = getNow(); var c = 1; while (c < J) { if (now > D + c*s) { L++; } c++; } D = getNow(); I.innerHTML = "cpu:" + l/J * 100 + "%"; },t = setInterval(fn,500),D = getNow(); I.style.csstext = "width:80px; height:20px; position:fixed !important; _position:absolute; top:10px; right:10px; border:1px solid #406c99; padding:2px; color:#f00;"; document.body.appendChild(I); fn(); })(); }

如果想判定的更为精准,那只能在定时器的执行时间和对差值的对比上进行调整了。

早在几年前ajax.com上就有人已经写出来这样的例子了。使用起来还比较简单,直接在你的需要监测的网页地址栏中输入:

代码如下:

当前页面右上角会出现一个小图标,它分为5个等级,分别代表当前cpu高度任务的状况(过高则说明cpu使用率是比较高的,只能进行一个大概的估算,不是很精确)

这里有一个在线例子:

rush:js;">