Nach http://net-snmp.sourceforge.net/docs/mibs/ucdavis.html#scalar_notcurrent ssCpuUser
, ssCpuSystem
, ssCpuIdle
, etc. sind für die rohen Varianten veraltet ( ssCpuRawUser
usw.).
Die früheren Werte (die Dinge wie Nizza, Warten, Kernel, Interrupt usw. nicht abdecken) gaben einen Prozentwert zurück:
Der Prozentsatz der CPU-Zeit, die für die Verarbeitung von Code auf Benutzerebene aufgewendet wurde, berechnet in letzter Minute.
Dieses Objekt wurde zugunsten von '
ssCpuRawUser(50)
' veraltet , mit dem dieselbe Metrik berechnet werden kann, jedoch über einen beliebigen Zeitraum.
Die Rohwerte geben die "rohe" Anzahl von Ticks zurück, die die CPU ausgegeben hat:
Die Anzahl der 'Ticks' (normalerweise 1 / 100s), die für die Verarbeitung von Code auf Benutzerebene aufgewendet wurden.
Auf einem
ssCpuRaw*
Multiprozessorsystem sind die Zähler über alle CPUs kumulativ, sodass ihre Summe normalerweise N * 100 beträgt (für N Prozessoren).
Meine Frage ist: Wie wandelt man die Anzahl der Zecken in Prozent um?
Das heißt, woher wissen Sie, wie viele Ticks pro Sekunde (dies ist normalerweise - was nicht immer impliziert - 1 / 100s, was entweder 1 alle 100 Sekunden bedeutet oder dass ein Tick 1/100 Sekunde darstellt).
Ich stelle mir vor, Sie müssen auch wissen, wie viele CPUs es gibt, oder Sie müssen alle CPU-Werte abrufen, um sie alle zusammen zu addieren. Ich kann anscheinend keine MIB finden, die Ihnen einen ganzzahligen Wert für die Anzahl der CPUs gibt, was die frühere Route umständlich macht. Die letztere Route scheint unzuverlässig zu sein, da sich einige der Zahlen ( manchmal ) überschneiden . Hat zum Beispiel ssCpuRawWait
die folgende Warnung:
Dieses Objekt wird nicht auf Hosts implementiert, auf denen das zugrunde liegende Betriebssystem diese bestimmte CPU-Metrik nicht misst. Diese Zeit kann auch im
ssCpuRawSystem(52)
Zähler enthalten sein.
Etwas Hilfe wäre dankbar. Überall scheint nur zu sagen, dass% veraltet ist, weil es abgeleitet werden kann, aber ich habe nirgendwo etwas gefunden, das den offiziellen Standard für die Durchführung dieser Ableitung zeigt.
Die zweite Komponente ist, dass diese "Zecken" kumulativ zu sein scheinen, anstatt über einen bestimmten Zeitraum. Wie kann ich Werte über einen bestimmten Zeitraum hinweg abtasten?
Die ultimative Information, die ich möchte, ist:% Benutzer, System, Leerlauf, nett (und idealerweise stehlen, obwohl es dafür keine Standard-MIB zu geben scheint) "aktuell" (in den letzten 1-60er Jahren wäre wahrscheinlich ausreichend, mit einer Präferenz für kleinere Zeitspannen).