Das Beispiel in diesem Artikel beschreibt, wie Sie die aktuelle CPU-Auslastung mithilfe von JavaScript ermitteln. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Wenn Sie die aktuelle CPU-Auslastung des Systems erhalten möchten und HTA verwendet werden darf, können Sie den folgenden Code verwenden, um die aktuelle CPU-Auslastung zu erhalten (genauer)
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);
Wenn die obige Methode nicht zulässig ist, gibt es eine geeignetere Methode, um eine grobe Schätzung auf einer normalen Webseite vorzunehmen?
Die Idee besteht darin, einen Timer zu verwenden. Wenn die Intervallausführungszeit 500 ms beträgt, kann die Zeitspanne zwischen dem Start und der Ausführung dieser Zeit 500 betragen Wird als normal angesehen. Wenn > 500, verwenden Sie unterschiedliche Werte, um den Auslastungsstatus der CPU zu bestimmen (da verschiedene Maschinen unterschiedliche CPU-Verarbeitungskapazitäten haben, sodass dies höchstens eine grobe Schätzung ist und nicht ganz genau ist und eine starke Abhängigkeit aufweist auf einige Parameter des Systems. )
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(); })(); }
Wenn Sie eine genauere Beurteilung vornehmen möchten, können Sie nur die Ausführungszeit des Timers anpassen und den Unterschied vergleichen.
Jemand hatte vor ein paar Jahren ein solches Beispiel auf ajax.com geschrieben. Die Verwendung ist relativ einfach. Geben Sie einfach direkt in die Adressleiste der Webseite ein, die Sie überwachen möchten:
In der oberen rechten Ecke der aktuellen Seite wird ein kleines Symbol angezeigt, das in 5 Ebenen unterteilt ist und jeweils den Status der aktuellen CPU-hohen Aufgabe darstellt (zu hoch bedeutet, dass die CPU-Auslastung relativ hoch ist und nur ein Eine grobe Schätzung ist nicht möglich.)
Hier ist ein Online-Beispiel:
<html> <head> <script type="text/javascript" src="http://www.3site.eu/JPU/JPU.js"> <!--// JPU - by WebReflection //--> </script> <script type="text/javascript"> <!--// function randomString(){ for(var i = 0, a = []; i < Math.ceil(Math.random() * 123456789); i++) a[i] = String.fromCharCode(Math.round(Math.random() * 50) + 30); return a.join(""); }; onload = function(){ setInterval(function(){ var div = document.getElementById("demo"); div.appendChild(document.createTextNode(randomString())); }, 300); }; //--> </script> <style type="text/css"> div{overflow:hidden;width:80%;height:80%;color:#FFF;} </style> </head> <body> <div id="demo"></div> </body> </html>
Der gesamte IJPU-Code ist relativ kurz, Sie können darauf verweisen:
/* (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');
Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.