Konvertieren Sie die Ausgabe von os.cpus() in Node.js die prozentuale
Gibt es eine Möglichkeit, konvertieren Sie die os.cpus() info prozentuale? Genau wie die Ausgabe von iostat (auf der CPU-Bereich).
Mein code:
var os = require('os');
console.log(os.cpus());
Die Ausgabe:
[ { model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 5264280,
nice: 0,
sys: 4001110,
idle: 58703910,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 2215030,
nice: 0,
sys: 1072600,
idle: 64657440,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 5973360,
nice: 0,
sys: 3197990,
idle: 58773760,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 2187650,
nice: 0,
sys: 1042550,
idle: 64714820,
irq: 0 } } ]
Ich würde gerne die "times" Metrik umgewandelt Prozentsatz, genau wie show auf der iostat
Befehl:
cpu
us sy id
6 3 91
Ich verstehe, dass die Werte in der nodejs-Funktion in CPU-Zeiteinheiten, aber ich habe keine Ahnung welche Formel soll ich verwenden, um Sie zu konvertieren Prozentsatz 🙂
Dank.
InformationsquelleAutor rogeriopvl | 2012-03-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut die docs,
times
istSo sollten Sie nur in der Lage sein, um die Summe der Zeiten, und berechnen Sie den Prozentsatz, wie unten:
EDIT: Als Tom Frost, sagt in den Kommentaren, das ist die Durchschnittliche Auslastung seit dem Systemstart. Dies ist konsistent mit der Frage, da das gleiche gilt von
iostat
. Allerdingsiostat
hat die Möglichkeit, wenn Sie regelmäßig aktualisiert und zeigt den Durchschnittsverbrauch seit dem letzten update. Tom ' s Methode, die gut funktionieren würde für die Umsetzung.Kann nicht glauben ich verpasste das os.* API bei der Suche :-/ Es gehen Sie sollten alles, was Sie brauchen.
Es ist erwähnenswert, dass dies nur gibt Ihnen die Verwendung gemittelt über die Zeit, da die Maschine das Letzte mal gebootet wurde. Wenn Sie im Leerlauf für eine Woche und spike zu 100% CPU-Auslastung, kann dieses Skript noch zeigen die Maschine, wie fast im Leerlauf. Ein besserer Ansatz ist die Verwendung von setTimeout zum Messen der stats vor und nach einer oder zwei Sekunden warten, subtrahieren Sie die start Zecken aus dem Ende Zecken, und führen Sie die Berechnungen auf.
InformationsquelleAutor Linus Gustav Larsson Thiel
Diesem Modul, die installiert werden kann über NPM bietet, was Sie brauchen:
https://github.com/oscmejia/os-utils
calle die cpuUsage(callback) - Methode, und Sie bekommen, was Sie brauchen.
InformationsquelleAutor oscarm
Wenn Sie auf der Suche an der CPU-Auslastung pro Prozess versuchen Knoten-Nutzung
InformationsquelleAutor Arunoda Susiripala
Dies ist meine Lösung
Intervall wird in Sekunden angegeben.
10 berechnet Belastung über die letzten 10 Sekunden!
Ausgänge so etwas wie dies auf meinem 8-Kern jedes n-Sekunden
Schob diesen über die Buchse.io in mein Flow-Charts 😉
InformationsquelleAutor user3575777
einen einfachen hack:
könnte man eine Metriken-lib wie https://github.com/felixge/node-measured lot etwas mehr fruchtbar
InformationsquelleAutor guybrush
ich bin mit diesem code:
InformationsquelleAutor lancha90
Wenn Sie möchten, zu beobachten, Echtzeit CPU-und Speichernutzung, können Sie versuchen,os-Nutzung.
Die grundlegende Verwendung ist wie folgt:
Können Sie auch Prozesse, die verwenden die meisten cpu-Ressourcen:
InformationsquelleAutor tning
Hier wie ich es gemacht habe:
InformationsquelleAutor math_lab3.ca