Wie bekomme ich die aktuelle CPU- und RAM-Auslastung in Python?
Was ist Ihre bevorzugte Weg, um in der aktuellen system-status (aktuelle CPU, RAM, Speicherplatz, etc.) in Python? Bonus-Punkte für *nix-und Windows-Plattformen.
Scheint es wenige Möglichkeiten zu extrahieren, die von meiner Suche:
- Verwendung einer Bibliothek wie PSI (das scheint derzeit nicht aktiv entwickelt wird und nicht unterstützt, auf mehreren Plattformen) oder so etwas wie pystatgrab (wieder keine Aktivität seit 2007 scheint es, und keine Unterstützung für Windows).
- Verwendung von Plattform-spezifischen code, wie zum Beispiel mit einem
os.popen("ps")
oder ähnliches für die *nix-Systeme undMEMORYSTATUS
imctypes.windll.kernel32
(siehe dieses Rezept ActiveState) für die Windows-Plattform. Könnte man eine Python-Klasse, zusammen mit alle diese code-snippets.
Es ist nicht so, dass diese Methoden schlecht sind, aber gibt es bereits eine gut unterstützte, multi-Plattform-Weg, die gleiche Sache zu tun?
InformationsquelleAutor der Frage lpfavreau | 2008-11-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Bibliothek psutil geben Sie einige system-Informationen (CPU /Speicher) auf einer Vielzahl von Plattformen:
InformationsquelleAutor der Antwort Jon Cage
Verwenden Sie die Bibliothek psutil. Für mich auf Ubuntu, pip 0.4.3 installiert. Sie können Ihre version von psutil-by-doing -
in Python.
Um einige der Speicher-und CPU-Statistiken:
Ich auch gerne tun:
welche gibt die aktuelle Speicherauslastung Ihres Python-Skript.
Gibt es einige tiefergehende Beispiele auf der pypi-Seite für die Version 4.3.0 und 0.5.0.
Für Ubuntu 16 und 14, die Installation von pip hat mir in der version 4.3.0, die nicht über die phymem_usage () - Methode. Um 0.5.0, herunterladen tar.gz Dateidann tun
InformationsquelleAutor der Antwort wordsforthewise
Unten-codes, ohne externe Bibliotheken, die für mich gearbeitet. Getestet habe ich auf Python 2.7.9
CPU-Auslastung
Und Ram-Auslastung, Gesamte, Verwendete und Freie
InformationsquelleAutor der Antwort CodeGench
One-liner für die RAM-Auslastung mit nur stdlib Abhängigkeit:
InformationsquelleAutor der Antwort Hrabal
Hier ist etwas, das ich zusammen eine Weile her, es ist nur windows, aber helfen kann Sie bekommen einen Teil von dem, was getan werden muss.
Abgeleitet von:
"für sys zur Verfügung mem"
http://msdn2.microsoft.com/en-us/library/aa455130.aspx
"einzelnen Prozess-Informations-und python-Skript-Beispiele"
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=true
HINWEIS: die WMI-Schnittstelle/Prozess ist auch für die, die ähnliche Aufgaben
Ich bin nicht hier, weil die aktuelle Methode deckt meine Bedürfnisse, aber wenn es eines Tages nötig, um erweitern oder verbessern, dann kann Sie untersuchen möchten der WMI-tools ein vailable.
WMI für python:
http://tgolden.sc.sabren.com/python/wmi.html
Code:
http://monkut.webfactional.com/blog/archive/2009/1/21/windows-process-memory-logging-python
InformationsquelleAutor der Antwort monkut
"... aktuellen system-status (aktuelle CPU, RAM, Speicherplatz, etc.)" Und "*nix-und Windows-Plattformen" kann eine schwierige Kombination zu erreichen.
Die Betriebssysteme unterscheiden sich fundamental in der Art, wie Sie die Verwaltung dieser Ressourcen. In der Tat, Sie unterscheiden sich in der grundlegenden Konzepte, wie die Definition, was zählt als system und was zählt als Anwendung der Zeit.
"Freier Speicherplatz"? Was zählt als "disk space?" Alle Partitionen der Geräte? Was ist mit ausländischen Partitionen in einer multi-boot-Umgebung?
Ich glaube nicht, dass es klar genug Konsens zwischen Windows und *nix, macht dies möglich. In der Tat kann es nicht sogar sein, einen Konsens zwischen den verschiedenen Betriebssystemen als Windows. Gibt es einen einzigen Windows-API, die funktioniert sowohl für XP und Vista?
InformationsquelleAutor der Antwort S.Lott
Ich fühlen, wie diese Antworten wurden geschrieben für Python 2, und in jedem Fall niemand erwähnt die standard -
Ressourcen
- Paket, das verfügbar ist für Python 3. Es enthält Befehle für den Erhalt der Ressource Grenzen eines bestimmten Prozesses (der Aufruf Python-Prozess standardmäßig). Dies ist nicht das gleiche wie immer die aktuellen Nutzung von Ressourcen durch das system als ganzes, aber es lösen könnte einige der gleichen Probleme wie z.B. "ich möchte sicherstellen, dass ich nur X verwenden viel RAM mit diesem script."InformationsquelleAutor der Antwort anoneemus
Können Sie psutil oder psmem mit subprocess
Beispiel-code
Referenz http://techarena51.com/index.php/how-to-install-python-3-and-flask-on-linux/
https://github.com/Leo-g/python-flask-cmd
InformationsquelleAutor der Antwort LeoG
Ich glaube nicht, dass es ist ein gut-unterstützt multi-Plattform-Bibliothek zur Verfügung. Denken Sie daran, dass Python selbst ist in C geschrieben, so dass jede Bibliothek ist einfach zu machen, eine kluge Entscheidung über die OS-spezifischen code-snippet zu führen, wie Sie oben vorgeschlagen.
InformationsquelleAutor der Antwort user35952