Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah JavaScript untuk mendapatkan petua usage_javascript cpu semasa

Kaedah JavaScript untuk mendapatkan petua usage_javascript cpu semasa

WBOY
WBOYasal
2016-05-16 15:25:294809semak imbas

Contoh dalam artikel ini menerangkan cara mendapatkan penggunaan cpu semasa menggunakan JavaScript. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Jika anda ingin mendapatkan penggunaan CPU sistem semasa, jika hta dibenarkan untuk digunakan, anda boleh menggunakan kod berikut untuk mendapatkan penggunaan CPU semasa (lebih tepat)

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

Jika kaedah di atas tidak dibenarkan, adakah kaedah yang lebih sesuai untuk membuat anggaran kasar pada halaman web biasa?

Ideanya adalah untuk menggunakan pemasa andaikan bahawa masa pelaksanaan selang ialah 500ms Apabila memanggilnya, nilaikan masa dari permulaan pemasaan hingga pelaksanaan ini dianggap normal. Jika > 500, gunakan nilai yang berbeza untuk menentukan status sibuk CPU (kerana mesin yang berbeza mempunyai keupayaan pemprosesan CPU yang berbeza, jadi ini hanya anggaran kasar paling banyak dan tidak tepat sepenuhnya, dan mempunyai pergantungan yang kuat. pada beberapa parameter sistem )

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

Jika anda ingin membuat pertimbangan yang lebih tepat, anda hanya boleh melaraskan masa pelaksanaan pemasa dan membandingkan perbezaannya.

Seseorang telah menulis contoh sedemikian di ajax.com beberapa tahun yang lalu. Ia agak mudah untuk digunakan, hanya masukkan terus dalam bar alamat halaman web yang anda ingin pantau:

Salin kod Kod adalah seperti berikut:
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 ')) ;

Ikon kecil akan muncul di penjuru kanan sebelah atas halaman semasa, yang dibahagikan kepada 5 tahap, masing-masing mewakili status tugas tinggi CPU semasa (terlalu tinggi bermakna penggunaan CPU agak tinggi, dan hanya anggaran kasar boleh dibuat tidak begitu tepat)

Berikut ialah contoh dalam talian:

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

Keseluruhan kod IJPU agak pendek, anda boleh merujuknya:

/* (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');

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn