Das resource
Modul bietet getrusage
, die Ihnen die Informationen, die Sie benötigen, zumindest für Unix-ähnliche Plattformen geben kann.
Beachten Sie, dass die CPU-Auslastung als Prozentsatz immer über ein Zeitintervall gemessen wird. Im Wesentlichen ist es die Zeit, die Ihr Programm benötigt, um etwas durch die Intervallzeit geteilt zu machen.
Wenn Ihre Anwendung z. B. über einen Zeitraum von 5 Sekunden 2 Sekunden CPU-Zeit beansprucht, kann davon ausgegangen werden, dass sie 40% der CPU verwendet.
Beachten Sie, dass diese Berechnung, so einfach wie es scheint, schwierig werden kann, wenn Sie ein Multiprozessorsystem verwenden. Wenn Ihre Anwendung 7 Sekunden CPU-Zeit in 5 Sekunden Wandzeit auf einem Zwei-Prozessor-System verwendet, sagen Sie, dass sie 140% oder 70% CPU verwendet?
Update: Wie gimel erwähnt, die os.times
Funktion bietet auch diese Informationen in einer plattformunabhängigen Art und Weise. Die obigen Berechnungshinweise gelten natürlich weiterhin.
Das Problem, das ich mit diesem zu sehen ist, dass dies eher ein Maß dafür, wie viel CPU-Zeit ist, die, obwohl sie sein kann hilfreich, ich denke nicht, dass es mit diesem Problem helfen wird, weil ich wissen muss, dass appX gerade 10% der gesamten CPU-Kapazität verwendet. – UnkwnTech
"Jetzt gerade", jeder Prozess verwendet 100% auf einem einzigen Prozessor-System - es gibt nur einen Prozess zu jedem Zeitpunkt ausgeführt, und es ist derjenige für seinen Ressourcenverbrauch.Machen Sie jede Sekunde einen Schnappschuss der Raserei und berechnen Sie dann, wie viel CPU Sie in der letzten Sekunde verbraucht haben. –