Wenn ich einen Prozess mit dem time
Befehl zeitlich festlege, erhalte ich eine Ausgabe für 'real', 'user' und 'sys'.
Mein Verständnis aus dieser Diskussion ist, dass "real" Wandzeit ist, während "Benutzer" und "System" Prozesszeit sind.
Bedeutet dies, dass "Benutzer" und "System" von anderen Prozessen nicht betroffen sind? Mit anderen Worten, wenn der Computer durch andere Prozesse stark oder leicht belastet wird, kann es länger dauern, bis die Wanduhr ("echt") fertig ist, um meinen Prozess abzuschließen. Aber mein Prozess hat möglicherweise nur 5 Sekunden Laufzeit benötigt, obwohl er über 20 Sekunden Echtzeit verteilt war.
Ist mir garantiert, dass mir "5 Sekunden Benutzerzeit" mitgeteilt wird, unabhängig davon, was das System sonst noch tut?
quelle
sched_setscheduler
mitSCHED_FIFO
einer hohen Priorität versuchen . Das sollte so ziemlich alles andere aufhalten , zumindest auf einem Single-Core-System. Aber ich denke, dies sollte am besten als neue Frage gestellt werden, zusammen mit den Details.user
Die Zeit kann von nichts anderem direkt beeinflusst werden.sys
Zeit kann, da es E / A enthalten kann. Wenn mehrere Prozesse gleichzeitig versuchen, auf ein Gerät zuzugreifen, ist das Gerät selbst möglicherweise ausgelastet. Wenn Ihr Prozess aktiv geplant ist, muss das System auf das Gerät warten. Es sollte nicht viel ausmachen, da das Warten meistens passiv ist - was diereal
Zeit verlängert -, aber wenn es sich um wiederholte Abfragen handelt, ist dies aktiv.quelle