34

Is there a way to get the CPU(s) usage in JavaScript on the browser?

AlejandroJS
  • 983
  • 2
  • 9
  • 29

2 Answers2

19

From what I have gathered, the most you can find out natively in the browser about JS CPU stats, is the amount of CPU cores the client is using. Insert this in your JS file:

console.log(navigator.hardwareConcurrency)

You can then check that in the Chrome Dev Tools console.

However, you can calculate the CPU load using Node.js. Here is a step-by-step on that.

The answer on this page may also be of help in your dilemma: Javascript- Dynamically monitor CPU/memory usage

Community
  • 1
  • 1
protoEvangelion
  • 3,663
  • 2
  • 25
  • 37
  • Is there any way to get only the CPUs that are being used by a node process? os.cpus() gets all the CPUs in a system, doesn't it? – Ronald C Apr 27 '21 at 16:38
6

Essentially, no. BUT... and this is a big BUT, if your application is an SPA you could consider deploying it via Electron.

If you did this you could then access the CPU usage: https://electronjs.org/docs/api/structures/cpu-usage

For you it's not a big leap to move from the web to Electron. But for your users it's a big change from accessing something in the browser to downloading an app. However, if this is a very important feature of your app/service then it might be worth it...

andy
  • 8,495
  • 13
  • 74
  • 122
  • Even if your app is not targeting Electron, it's possible to deploy any SPA to Electron and you can monitor the CPU usage there. – M.K. Safi May 12 '20 at 23:03