Wie man CPU- und Speicherverbrauch von innerhalb eines Prozesses in C++ ermittelt
Hallo zusammen! Ich schreibe seit etwa einem Jahr in C++ und bin auf eine Aufgabe gestoßen, die mich ratlos gemacht hat. Ich brauche, dass mein Programm (ein Server zur Bildverarbeitung) in Echtzeit verfolgt, wie viel Speicher und CPU es verbraucht. Das Problem ist, dass ich nicht verstehe, wie ich diese Daten von innerhalb des Prozesses selbst erhalten kann.\n\nZum Beispiel möchte ich so etwas ins Log ausgeben: "Spitzen-Speicherverbrauch: 150 MB, CPU-Auslastung: 45%". Ich habe versucht, einfache Variablen wie `sizeof()` für Objekte zu verwenden, aber das gibt kein realistisches Bild – denn der Speicher wird auf dem Heap allokiert, plus es gibt Overhead für den Stack und Systemressourcen. Bei der CPU ist es noch schwieriger: Ich kann die Ausführungszeit eines Codeabschnitts mit `clock()` messen, aber das ist nur die Zeit meines Threads, nicht des gesamten Programms, und berücksichtigt keine I/O-Wartezeiten.