Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript-Methode, um aktuelle Tipps zur CPU-Nutzung_javascript zu erhalten

WBOY
Freigeben: 2016-05-16 15:25:29
Original
4820 Leute haben es durchsucht

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);

Nach dem Login kopieren

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();
 })();
}

Nach dem Login kopieren

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:

Code kopieren Der Code lautet wie folgt:
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 ')) ;

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>

Nach dem Login kopieren

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 &#63; --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');
Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage