Wie kann man Speicherspitzen aufspüren?

Wie kann man Speicherspitzen aufspüren?

Ich habe eine App, die auf Rackspace Cloud (Ubuntu 10.04) läuft. Aus irgendeinem Grund hat der Speicher in den letzten 3 Nächten Spitzenwerte erreicht und sich dann etwa 7 Stunden lang stabilisiert, bevor er schließlich abfiel. Es scheint um Mitternacht zu beginnen und bis 7 Uhr morgens zu dauern (ignorieren Sie die Zeiten im Diagramm – sie weichen um 4 Stunden ab).

Alt-Text

DurchsuchenMuninDiagramm scheint es keine erhöhte Aktivität in MySQL zu geben und der Ethernet-Verkehr scheint während dieser Zeit überhaupt nicht anzusteigen (was so etwas wie einen Bot oder Crawler ausschließen würde).

Welche Tools stehen für Linux zur Verfügung, um derartige Probleme zu beheben?

Antwort1

Ich bin mir nicht ganz sicher, ob es perfekt passt, aber das Prozessbuchhaltungspaket (meistens psacct oder acct genannt) kann aufzeichnen, wer (welches Konto) was (welches Programm) ausführt. Dies kann Ihnen dabei helfen, herauszufinden, was zu der von Ihnen angegebenen Zeit ausgeführt wird.

Antwort2

Generell weiß ich nicht, welches Tool dir helfen könnte, außer psregelmäßig zu protokollieren und die Prozessaktivitäten später zu analysieren.

Ich kann jedoch eine Vermutung anstellen, was die Spitzen um 6:00 Uhr in Ihrem Diagramm angeht. Es könnten die standardmäßigen täglichen Cron-Jobs von Ubuntu sein. Auf meinem Rechner ist es so konfiguriert /etc/crontab, daily.ddass es um 6:25 Uhr ausgeführt wird. Aber Sie sagten, wir sollten die Zeit ignorieren, also ist die offensichtliche Frage, ob Sie Cron-Jobs haben?

Antwort3

Meine Standardantwort auf solche Fragen wäre sar(Systemaktivitätsreporter) von demsysstatPaket.

Aber soweit ich weiß, sarerfasst kein Äquivalent zur Ausgabe von ps. Daher würde vielleicht die Kombination von sarund der Antwort von elmarcos (regelmäßig die Ausgabe von erfassen ps) helfen.

BEARBEITEN:

Steve D hat pidstatindiese Frage. Dies scheint für Ihre Anforderungen besser geeignet zu sein.

verwandte Informationen