Gibt es ein Dienstprogramm, mit dem die Quelle der Systemlast / des Lastdurchschnitts für einen bestimmten Zeitraum ermittelt werden kann?

12

Indem wir top, htop, uptime usw. ausführen, können wir den Lastdurchschnitt als drei Werte sehen, die die durchschnittliche Last für die letzten 1/5/15 Minuten angeben (na ja, nicht wirklich , aber das ist hier nicht die Frage).

Manchmal stelle ich fest, dass ich in den letzten 15 Minuten einen ziemlich hohen Lastdurchschnitt hatte, aber die aktuelle Last ist sehr niedrig. Gibt es ein Dienstprogramm, das die Prozesse auflistet (auch wenn sie nicht mehr existieren), die in den letzten 1/5/15 Minuten (oder einem ähnlichen Zeitraum) die meiste CPU-Zeit verbraucht haben?

Mir ist bewusst, dass der durchschnittliche Auslastungsgrad auch durch Prozesse verursacht werden kann, die auf E / A warten, aber ich bin hauptsächlich daran interessiert, die Anwendungen mit dem höchsten CPU-Auslastungsgrad zu sehen (obwohl es auch schön wäre, historische E / A zu sehen).

Soweit ich weiß, kann es mir hier nicht helfen, htop auszuführen und nach Zeit zu sortieren, da die Spitzenwerte, wenn der Computer eine Weile eingeschaltet war, nicht unbedingt etwas mit der jüngsten Vergangenheit zu tun haben.

Quantumboredom
quelle
Welches Betriebssystem verwenden Sie?
Karlson
Ich neige dazu, verschiedene GNU / Linux-Distributionen auszuprobieren, benutze aber meistens openSUSE.
Quantumboredom

Antworten:

11

Ich schlage vor, zu verwenden atop. Es ist ein Daemon, der standardmäßig alle 10 Minuten alle 'Top'-Informationen sammelt und Sie können diese' Top'-Snapshots einfach in die Vergangenheit zurückversetzen. Passen Sie das Standardintervall an Ihre Bedürfnisse an (verbraucht mehr Speicherplatz, wenn es häufiger eingestellt wird).

Erst gestern beantwortete ich eine ähnliche Frage , in der ich eine sehr kurze Anleitung enthielt.

gertvdijk
quelle
atop scheint absolut perfekt zu sein, vielen Dank!
Quantumboredom
so es zeigen werde nicht, sagen wir mal, die Wert Belastung durch spezifische pids verursacht, aber es wird in einer Art und Weise zeigen wir es irgendwie erraten kann, wie die Reihenfolge der Nutzung CPU die schwierigste Anwendung richtig zu sein? Ich frage mich, wie atopInformationen helfen können, um zu erraten, wie sich die Belastungswerte zusammensetzen (summieren). Mit anderen Worten, was bewirkt dieser Algorithmus htop, um den Lastdurchschnitt zu bilden, und warum wird er nicht pro Prozess angezeigt? (Ich denke, das könnte einen neuen Thread verdienen?)
Aquarius Power
@AquariusPower Das verdient in der Tat eine neue Frage. Die Durchschnittsbelastung von Maschinen wird anhand vieler Faktoren berechnet, die für diese Frage nicht wirklich relevant sind.
Gertvdijk
7

Gemessen an der Angabe von htop würde ich davon ausgehen, dass Sie Linux verwenden.

Sie können sich ein Dienstprogramm namens sar ansehen , das unter Solaris häufig verwendet wird, aber ich habe es unter Linux selten gesehen. Es ist in der Lage, die Systemaktivität für einen Tag aufzuzeichnen und dann in verschiedenen Intervallen zu melden. Sie können sich auch Orca ansehen , die Datenstatistik ist jedoch weiterhin systemspezifisch.

Wenn Sie pro Prozess Daten benötigen, gibt es natürlich kostenpflichtige Produkte wie TeamQuest .

Karlson
quelle
4

Sofern Sie kein Datenerfassungstool eingerichtet haben, lautet die Antwort "Nein". Es gibt kein solches integriertes Dienstprogramm, das die Auslastung verschiedener Ressourcen protokolliert.

Auf der anderen Seite wird jede Linux-Installation mit dem Dienstprogramm sar ausgeliefert, das sich mit dem Thema befasst, über das Sie sprechen. Ich werde nicht näher darauf eingehen, wie Sie Daten sammeln und wie Sie diese Daten für die Berichterstellung extrahieren, da die Anforderungen jedes Servers und jeder Organisation unterschiedlich sind.

Melden Sie sich bei Ihrem Server an und lesen Sie die Manpage des sarBefehls. Führen Sie dann eine Google-Suche durch, um herauszufinden, wie Sie sar effektiv nutzen können. Und in kurzer Zeit können Sie Ihr Dienstprogramm zur Datenerfassung einrichten. Wenn Sie auf ein Problem stoßen, graben Sie einfach für den angegebenen Zeitraum in Sar-Protokollen zurück und stellen fest, welche Ressource überdurchschnittlich häufig verwendet wurde.

Es ist von unschätzbarem Wert, das Management davon zu überzeugen, etwas Geld für den Kauf / das Upgrade von Hardware zu investieren, wenn Sie kontinuierlich eine Auslastung von 75% oder mehr erreichen und keine andere Möglichkeit haben, dies zu beweisen. Es gibt sogar Excel-Makros, mit denen Sie grafische (als Management-Speak) Berichte aus den Rohdaten von sar erstellen können, wenn ich mich nicht irre.

MelBurslan
quelle