Relativ einfaches Python-Skript mit 100% cpu

Ich werde mich nicht um den code, weil es zu lange. Das python-Skript umfasst die Ausführung einer langen Reihe von Befehlen läuft in einer while-Schleife.

Grundstruktur

while True:
    The meat goes here
    with the odd if:
        and stuff

Nun, dass ich fertig bin es, ich bin zu bemerken, dass nach dem ausführen es, er nutzt 100% CPU, keine Ausnahmen. Ich bin ein Anfänger und weiß nicht wirklich, was für ein Attribut dieses Problem zu. Ich dachte, dass vielleicht, weil das Skript läuft auf unbestimmte Zeit (bis ich es beenden manuell) es könnte nur sein, die Besteuerung auf der CPU-wenn es die Wiederholung der Schleife eine Anzahl von mal pro Sekunde. Habe ich noch Zeit.sleep(1) an der Unterseite der Weile, um zu sehen, ob das war das Problem mit keine Verbesserungen.

Jemand irgendwelche Ideen? Es ist eine Recht lange Sequenz von Ereignissen, aber Sie sind stark abhängig von einer if-Anweisung, die nicht ausgelöst allzu oft. Die 100% CPU-Auslastung tritt vor, die insbesondere die if-Anweisung ist selbst ausgelöst, so dass ich bin wirklich ratlos.

Edit: habe vergessen zu zählen, dass es läuft in einer unix-Umgebung (Debian)

  • Wenn Sie bereits versucht Zeit hinzufügen.sleep(1) unter der while True: Linie, und es hat nicht geholfen, dann denke ich, müssen wir sehen, mehr code, bevor wir Ihnen helfen können.
  • Haben Sie continue - Anweisungen im code, die werden könnte, überspringt die schlafen (wenn es am Ende der while-Schleife)?
  • Vielen Dank für die Antworten Jungs. Ich habe verwendet andere scripts, die in der Vergangenheit ausgeführt passiv mit fast keine CPU-Auslastung. Ich guck in die Herstellung sicher, dass die Zeit.sleep(1) ist in seine Arbeit verrichtet.
  • Ich habe es so, dass die Zeit.sleep(1) funktioniert jetzt - nicht sicher, warum stellen Sie es an der Unterseite der Schleife nicht, es zu tun. Dies macht es, so dass es mit praktisch keine CPU::)
InformationsquelleAutor GEDDE5 | 2010-12-15
Schreibe einen Kommentar