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

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

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

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处理能力不太一样,所以这个最多只是粗略的估算不完全准确,对系统的一些参数有较强的依赖性)

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上就有人已经写出来这样的例子了。使用起来还比较简单,直接在你的需要监测的网页地址栏中输入:

javascript:(function(s){s.type='text/javascript';s.src='http://www.3site.eu/JPU/IJPU.js';document.getElementsByTagName('head')[0].appendChild(s)})(document.createElement('script'));

c5f097e7685a342176bd7d26965d3355.png

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

这里有一个在线例子:

div{overflow:hidden;width:80%;height:80%;color:#FFF;}

它整个IJPU的代码比较简短,可以参考一下:

/* (C) Andrea Giammarchi */

(function (J, P, U) {

var a = 'appendChild',

c = 'createElement',

e = 'addEventListener',

d = document,

l = "load",

w = window;

(function () {

var i = setInterval(function (l) {

l = 1;

D = new Date - D;

if (D > 700) l++;

if (D > 650) l++;

if (D > 600) l++;

if (D > 550) l++;

s(J = l < J ? --J : l);

D = new Date

}, 500),

b = d.body,

s = function () {

I.className = U + J

},

I = d[c]('p'),

C = d[c]('link'),

D = new Date;

C.rel = 'stylesheet';

C.type = 'text/css';

C.href = P + U + '.css';

s(b[a](C), b[a](I)); /*@cc_on setInterval(function(){I.style.top=document.body.scrollTop+"px"},50)@*/

})()

})(5, 'http://www.3site.eu/JPU/', 'JPU');

希望本文所述对大家JavaScript程序设计有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值