Überprüfen Sie die Speichernutzung der Teilprozess in Python
Ich entwickle eine Anwendung in Python auf Ubuntu und ich bin mit externen Binärdateien, die von innen mit python subprocess. Da diese Binärdateien werden zur Laufzeit generiert und können gehen, rogue, ich brauche, um eine strenge Registerkarte auf der Höhe der Speicherbedarf und die Laufzeit dieser Programme. Gibt es irgendwie ich kann, beschränken oder überwachen der Speicherauslastung dieser binäre Programme, die zur Laufzeit? Ich würde wirklich hassen, um so etwas wie "ps" im Teilprozess für diesen Zweck.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit einer PID-Nummer von Ihrem Teilprozess Lesen Sie alle Infos aus proc-file-system. Verwendung:
oder
Alternativ können Sie die Ressourcen begrenzen, welcher Teilprozess kann dadurch mit :
Gegeben, wenn der virtuelle Speicher-limit erreicht ist-Prozess Fehler mit out of memory.
Können Sie Python ' s Ressource Modul, Grenzen zu setzen, bevor Sie laichen Ihre Teilprozess.
Zur überwachung, Ressource.getrusage() geben Sie die zusammengefassten Informationen über alle Ihre Teilprozesse; wenn Sie wollen, um zu sehen, pro-Unterprozess Informationen, die Sie tun können das /proc-trick im anderen Kommentar (nicht tragbar), aber effektiv), oder Schicht ein Python-Programm zwischen jeder Teilprozess und herauszufinden, einige der Kommunikation (portable, hässlich, schwach wirksam).