Mehr gleichzeitige Prozesse als CPUs? – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Mehr gleichzeitige Prozesse als CPUs? Sat, 23 Jan 21 21:44:07 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780857#m1780857 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780857#m1780857 <p>Guten Abend in die Runde,</p> <p>ich hab da mal eine Frage, die mich schon seit längerem beschäftigt.</p> <p>Umgangssprachlich sagt man ja, ein Computer könne mehrere Programme gleichzeitig ausführen. Nimmt man es genau, ist diese Aussage aber falsch; ein Computer wechselt nur sehr schnell zwischen verschiedenen Programmen, so dass der <em>Eindruck</em> von Gleichzeitigkeit entsteht.</p> <p>Allerdings kann eine Multicore-CPU natürlich tatsächlich mehrere Prozesse gleichzeitig bearbeiten - nämlich einen pro CPU-Core. Insofern wundere ich mich immer mal wieder, wieso das Linux-Tool <strong>top</strong> auf meinem PC mit Dualcore-CPU ab und zu mal drei, ganz selten sogar mal vier gleichzeitig laufende Prozesse angibt:</p> <p><a href="/images/bdf731f6-5dc3-11eb-aa75-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/bdf731f6-5dc3-11eb-aa75-b42e9947ef30.png?size=medium" alt="Screenshot von "top"" loading="lazy"></a></p> <p>Wie kann das sein? Was verstehe ich hier falsch?</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Für welches Tier mühen wir uns am meisten ab? - Für die Katz'. </div> Mehr gleichzeitige Prozesse als CPUs? Sat, 23 Jan 21 21:52:40 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780858#m1780858 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780858#m1780858 <p>Hallo Der,</p> <p>ich kenne mich mit sowas kaum aus, aber vermute <a href="https://de.wikipedia.org/wiki/Hyper-Threading" rel="nofollow noopener noreferrer">das hier</a> dürfte in deine Richtung gehen.</p> <p>Gruss<br> Henry</p> <div class="signature">-- <br> Meine Meinung zu DSGVO & Co:<br> „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“ </div> Mehr gleichzeitige Prozesse als CPUs? Sat, 23 Jan 21 22:27:41 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780860#m1780860 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780860#m1780860 <p>Hi there,</p> <blockquote> <p>Wie kann das sein?</p> </blockquote> <p>Die Frage solltest Du nicht uns, sondern dem Kernel von Deinem Betriebssystem stellen. Der oder irgendein Scheduler darin teilt halt "einfach" die Prozesse zu. Irgendwas läuft ja immer, selbst wenn gerade kein Programm läuft;)</p> <p>Btw., warum verwendest Du nicht htop (s.shot von einem Raspi), das sieht man imho mehr als bei top und vor allem in Farbe... <a href="/images/2b4ab86c-5dca-11eb-ba89-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/2b4ab86c-5dca-11eb-ba89-b42e9947ef30.png?size=medium" alt="" loading="lazy"></a></p> Mehr gleichzeitige Prozesse als CPUs? Sat, 23 Jan 21 22:26:28 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780859#m1780859 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1780859#m1780859 <p>Hallo Henry,</p> <p>entweder das, oder running/sleeping hat in dem Tool eine andere Bedeutung.</p> <p>In einem Multitasking-System hat ein Thread mehr Status als Run/Sleep.</p> <p>Sleep heißt: Der Thread kann nicht laufen, weil er auf ein externes Signal wartet (z.B. Festplatten-IO, oder eine Message von einem Socket, einer Named Pipe, oder ein irgendwie geartetes anderes Event).</p> <p>Running heißt: Er führt aktiv CPU-Instruktionen aus.</p> <p>Wenn TOP den Status der laufenden Threads bestimmt, dann ist er selbst im Status Running. Bei 4 Kernen können also nur 3 andere Threads auf "Running" stehen, bei 2 Kernen nur ein einziger anderer.</p> <p>Es gibt aber auch noch "Ready". Das sind die Threads, die gerne was tun würden, aber nicht können, weil der Scheduler meint, andere Threads wären gerade wichtiger. Und "Ready" können deutlich mehr Threads sein, als es Cores gibt. Das könnte man evaluieren, indem man ein Testprogram schreibt, das zehn Sekunden damit verbringt, vor sich hin zu loopen. Und das startet man vier oder acht mal.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Mehr gleichzeitige Prozesse als CPUs? Sun, 24 Jan 21 10:14:53 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782949#m1782949 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782949#m1782949 <p>Hallo Rolf,</p> <p>danke erstmal für deine Denkanstöße.</p> <blockquote> <p>In einem Multitasking-System hat ein Thread mehr Status als Run/Sleep.</p> </blockquote> <p>Ja, richtig. In top gibt es noch die Status D (das korreliert etwa mit der GUI-Meldung "<application> is not responding") und Z für Zombie. Außerdem noch zwei Status, die auftreten können, wenn ein Debugger im Spiel ist.</p> <blockquote> <p>Sleep heißt: Der Thread kann nicht laufen, weil er auf ein externes Signal wartet (z.B. Festplatten-IO, oder eine Message von einem Socket, einer Named Pipe, oder ein irgendwie geartetes anderes Event).</p> </blockquote> <p>Richtig.</p> <blockquote> <p>Running heißt: Er führt aktiv CPU-Instruktionen aus.</p> </blockquote> <p>Dachte ich bis gestern auch.</p> <blockquote> <p>Wenn TOP den Status der laufenden Threads bestimmt, dann ist er selbst im Status Running. Bei 4 Kernen können also nur 3 andere Threads auf "Running" stehen, bei 2 Kernen nur ein einziger anderer.</p> </blockquote> <p><s>Ja, und auch das ist eigenartig, weil top alle drei Sekunden (Default) eine Momentaufnahme macht und top selbst oft gar nicht unter den als "Running" markierten Prozessen ist.</s><br> <strong>EDIT</strong>: Ich habe das jetzt mal ein paar Minuten beobachtet und komme zu der Erkenntnis, dass das ein Irrtum ist. Bei jeder Aktualisierung der Anzeige war <em>top</em> dabei.</p> <blockquote> <p>Es gibt aber auch noch "Ready". Das sind die Threads, die gerne was tun würden, aber nicht können, weil der Scheduler meint, andere Threads wären gerade wichtiger. Und "Ready" können deutlich mehr Threads sein, als es Cores gibt.</p> </blockquote> <p>Ja. In den man-Pages zu top habe ich mittlerweile einen unauffälligen, aber wichtigen Hinweis gefunden: Der Status R bedeutet in Wirklichkeit <em>Ready</em>. Dann wäre es aber wiederum erstaunlich, dass es immer nur so wenige sind ...</p> <p>Und die Bezeichnung "running" auch im Kopfbereich der Anzeige von <em>top</em> ist dann irreführend.</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Für welches Tier mühen wir uns am meisten ab? - Für die Katz'. </div> Mehr gleichzeitige Prozesse als CPUs? Sun, 24 Jan 21 10:17:56 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782951#m1782951 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782951#m1782951 <p>Hallo,</p> <blockquote> <p>Btw., warum verwendest Du nicht htop</p> </blockquote> <p>weil ich das nicht kenne. </p> <blockquote> <p>das sieht man imho mehr als bei top und vor allem in Farbe...</p> </blockquote> <p>Naja, wenn ich mir deinen Screenshot anschaue und die Information, die <em>htop</em> anzeigt, sehe ich da keinen wirklichen Mehrwert für ein Tool, das ich mir erst zusätzlich installieren müsste.<br> Ja, es ist bunt. Aber braucht man das?</p> <p>Live long and <s>pros</s> healthy,<br>  Martin</p> <div class="signature">-- <br> Für welches Tier mühen wir uns am meisten ab? - Für die Katz'. </div> Mehr gleichzeitige Prozesse als CPUs? Sun, 24 Jan 21 10:43:20 Z https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782955#m1782955 https://forum.selfhtml.org/self/2021/jan/23/mehr-gleichzeitige-prozesse-als-cpus/1782955#m1782955 <blockquote> <p>Ja, es ist bunt. Aber braucht man das?</p> </blockquote> <p>Es ist „nice2have“ und darüber hinaus auch die „Empfehlung der Woche“. Was Du im Bildschirmfoto nicht siehst ist die nette Belegung der Funktionstasten. Man kann sortieren, suchen, filtern und auf bequeme Weise Prozessen ein Signal senden oder deren Dringlichkeit verändern (als root: auch erhöhen).</p> <p>Was jetzt die „laufenden“ Prozesse betrifft, sind das schlicht und einfach jene, die dem Kernel mitgeteilt haben, dass diese gerne vom Sheduler etwas Rechenzeit mit dieser oder jener Dringlichkeit haben wollen (darunter natürlich jene bei denen der Sheduler so freundlich war, das zu gewähren).</p>