Frage

Ich habe diese Anwendung auf meinem MacBook Pro installiert, die ich einen Kern auf meinem CPU deaktivieren kann. Es hat mich gefragt: Wie ein Kern die laufenden Prozesse wirkt sich das Deaktivieren

Ich bin auch daran interessiert, wenn ein Kern Deaktivieren eines beeinflussen hat auf die folgende

  • Batterie-Lebensdauer
  • Die Wärmeerzeugung
  • Mehr Leistung, wenn der Prozessor normalerweise weniger als 40% der beiden Kerne verwenden?
War es hilfreich?

Lösung

Wie funktioniert das Deaktivieren ein Kern die laufenden Prozesse beeinflussen?

Es ist nicht, es sei denn, das Programm, das Sie verwenden ist phänomenal schlecht geschrieben. Der OS-Scheduler wird aufmerksam gemacht, dass der Prozessor nicht mehr verfügbar und wird einfach Planungsprozess in diesen Prozessor stoppen. Putting einen Prozess von „läuft“ in „Warte“ nehmen Mikrosekunden, so wird der Schalter augenblicklich angezeigt. Der Prozess wird auf dem anderen Kern weiterlaufen, sobald sie verfügbar wird und Priorität erlaubt.

Wie funktioniert das Deaktivieren einer Kernbatterielebensdauer beeinflussen

Es wird einen messbaren, aber nicht signifikanten Effekt - in einigen Fällen werden zunehmen. Mit anderen Worten, sollten Sie nicht mehr als vielleicht 5% Rückgang des Energieverbrauches sehen wie moderne Prozessoren bereits aggressive Energiespartechniken einsetzen. Prozessoren laufen nicht untätig Schlaufen - sie stoppen, wenn kein Prozess bereit zu laufen. Wenn die gesamte Systembelastung niedrig ist, verlangsamt ich die OS die Prozessoren nach unten, anstatt sie zu stoppen, die einen ähnlichen Spareffekt hat.

In bestimmten, sehr spezifische, Nutzungsszenarien, den Energieverbrauch aufgrund steigen werden wie das Betriebssystem verwendet die Prozessoren (mehr Task-Wechsel, die die Leistung und höhere Prozessorauslastung führt zu niedrigeren).

Wie ein Kern nicht deaktivieren beeinflussen Wärmeerzeugung

Wie bei Strom, wird es messbar, aber nicht bemerkbar ohne sorgfältige Messung. Auch hier bereits der Prozessor außergewöhnliche Leistungssteuerung hat und die Uhren, Spannung und Prozessor im Leerlauf, um die Last anzupassen, und zwar unabhängig davon, wie viele Prozessoren aktiv sind.

moderiert

Wie funktioniert das Deaktivieren eine Kernleistung beeinträchtigen (vorausgesetzt, der Prozessor ist mit weniger als 40% der beiden Kerne)

Prozesse sind sehr 'peaky.' Wenn Sie eine Taste oder bewegen Sie die Maus drücken schlägt es Dutzende von wartenden Prozesse ab und will 100% für einen sehr kurzen Zeitraum.

Durch zwingt den Prozessor sie ein zu einer Zeit statt parallel, ja die gesamte durchschnittliche Nutzung ist nur 80% zu laufen, aber es wird laggy fühlen sich nicht nur auf Grund einer Menge von wartenden Prozesse, sondern auch aufgrund der Task-Wechsel -. jedesmal, wenn ein Prozess geändert wird (aufgrund der Priorität, oder es beendet wird, oder zu unterbrechen, usw.) der Prozessor die OS Task lädt, die dann den Scheduler läuft, die dann die nächste Aufgabe lädt

Sie sind eine Verdoppelung die Aufgabe Schaltlast auf einem Prozessor, was bedeutet, Sie laufen den OS-Code (Scheduler, Event-Manager, etc.) viel häufiger mit der Nachfrage Schritt zu halten.

Dies ist verschwenderisch, und die Leistungsabnahme tatsächlich spürbar sein kann. Diese zusätzliche Arbeit würde nicht unbedingt durchgeführt werden, wenn das Betriebssystem die Möglichkeit, läuft beiden Prozessoren auf 40% ihrer normalen Geschwindigkeit, zum Beispiel hat.

-Adam

Andere Tipps

Interessante Frage. Dies wird etwas beteiligt. Sie waren nicht super spezifisch über genau das, was Sie mit „Anwendung, die einen Kern deaktiviert“ bedeutet und genau das, was es tut, aber ich nehme an aus Ihrer Frage und der Kommentar zum anderen, dass diese Anwendung in einer OS-Kernel freundlich den Kern zu deaktivieren.

Also, normalerweise, wenn OS X läuft, gibt es viele verschiedene mögliche Threads / Prozesse (Ich werde Fäden sagen von hier aus), die für die CPU-Ressourcen im Scheduler konkurrieren. Wenn beide Kerne des Core 2 Duo-Prozessor aktiviert sind, hat der Kernel die Fähigkeit, zwei Threads gleichzeitig ausgeführt werden - Drehen alles beide Kerne durch die ausgeführt werden muss. Wenn Sie einen des Kerns deaktivieren, wird der Kern geht zurück auf nur fallen Arbeit zu einem einzigen Kern Dispatching. Natürlich ist dies die Menge der nicht Arbeit ändern, die zu erledigen muss .... es Sich nur schneidet Potential Ausführungsleistung in zwei Hälften.

Sie können nicht, dass dies wichtig ist, wenn Ihre Kerne wurden weniger als 50% beschäftigt durchschnittlich, nicht wahr? Nun, es ist nicht egal in vielen Fällen und der Grund ist Latenz Sachen auszuführen. Wenn es nur ein Thread runnable jederzeit ist, dann ist der zweite Kern immer nutzlos, auch wenn es nach wie vor aktiviert. Doch in jeder Situation, wo zwei oder mehr Threads runnable werden .... ist es möglich, die Vorteile beiden Kerne zu nehmen und wenn einer von ihnen deaktiviert wird dann die Arbeit an dem zweiten Thread getan werden kann nicht einmal bis zum vorherigen Thread starten führt für eine Weile wird und dann ausgelagert. Unter der Annahme, zwei Fäden mit dem gleichen Arbeit getan werden, klar wird es geht zweimal so lange dauern für den zweiten Thread zur Vollständigkeit erhalten im Vergleich zu dem Dual-Core-Fall. Sie können dies nicht bemerken, je nachdem, wie viel Arbeit, die wir hier reden, aber eindeutig die Latenzzeit (Reaktionszeit) zumindest in der Theorie wird in zwei Hälften geschnitten werden. Klar, da das System Last mit mehr und mehr Threads, die laufen oder Threads benötigen, die mehr Arbeit zu tun haben, wird es wird zunehmend offensichtlich, dass alles läuft - in der Tat -. Mit halber Geschwindigkeit

Das war alles ziemlich geradlinig.

Was das bedeutet relativ Ableitung und Lebensdauer der Batterie zu heizen?

Haben Sie kommen voran hier oder nicht .... weil Punkt in der Tat, während Sie vielleicht denken geneigt sein, Sie halb so viel Energie pro Zeiteinheit zeichnen, arbeiten in der Tat ist doppelt so lang abzuschließen nehmen.

hier Die Schlussfolgerung ist, dass ein Kern zu deaktivieren, am Ende, hat sehr wenig oder gar keine Auswirkungen auf der Gesamtakkulaufzeit, weil das Betriebssystem und die CPU bereits zusammen arbeiten, um die Uhren zu drosseln und Shutdown effektiv einen Kern, der nicht ist erforderlich. Das heißt, ist es zu keinem Overhead wirklich wenig einen Kern in der Warte in mit bereit, verwendet werden, wenn Sie es brauchen. In der Tat könnte ein System tatsächlich kürzere Akkulaufzeit mit nur einem Kern all verwendet wird, weil die anderen Geräte auf dem Motherboard länger aktiv bleiben müssen, da die CPU mehr nehmen die benötigte Arbeit zu erledigen.

In Bezug auf Wärmeableitung, ist der Effekt ähnlich. Offensichtlich wird die Spitzenwärmeableitung in Bezug auf WATT dramatisch mit nur einem Kern abgeholzt .... weil nur ein von zwei Kernen tatsächlich aktiv ist. Aber auch hier wird ausgeführt, dass der Kern länger und die Netto-Gesamtenergieabgabe (Joules oder Wattsekunden) wird in etwa gleich ... was wiederum deshalb die Akku-Lebensdauer weitgehend unbeeinflusst in dem einem Kern gegen zwei Kern Fall ist.

Ich werde davon ausgehen, dass, wenn Sie „disable“ der Kern, bist du wirklich nicht mehr bearbeiten zu sagen OS X parallel.

Ich würde vermuten auch, dass das OS klug genug ist, Prozesse zu bewegen, nachdem Sie sie deaktiviert haben:)

Ich glaube jedoch nicht, würden Sie wirklich eine große Verbesserung gegenüber den Stromverbrauch oder die Lebensdauer der Batterie sehen, aber es ist eine Vermutung -. Die CPU noch Macht wird immer nur ein Teil davon wird kein Zugriff auf

Auch, und dies ist nur eine theoretische Frage, läuft möglicherweise nicht nur ein Kern die Wahrscheinlichkeit des CPU Ausbrennens erhöhen, es sei denn, darauf, dass die thermischen Eigenschaften konstant zu halten genommen wird? Nur so ein Gedanke.

Es wird nicht wirklich Ihre laufenden Prozesse beeinflussen. Der Scheduler wird den laufenden Prozess aus dem Kern klar und einfach nicht einen anderen proccess ihm widmen.
Und jetzt Ihre Planer müssen nur eine nette Strategie finden eine gerechte Aufteilung der Prozesse auf den verbleibenden Kern zu finden.

  1. Batterie: marginal
  2. Wärme-diff: vernachlässigbar ... mit 2x40% -load
  3. nicht existent oder etwas schlechter
    • schlimmer, weil jetzt alle Prozesse haben über den einen und einzigen Kern
    • geschaltet werden
    • vor einem Prozess (und seinen Kontext!) Die ganze Zeit auf einem Kern geblieben
    • so wird diese Add-I / O ... und nur Kern darauf warten haben (den TLB und Seitentabellen Spülung)

Ich weiß nicht, über den Stromverbrauch, aber ich erwarte, dass Sie würde einen gewissen Spielraum speichern. Dies hängt von dem Prozentsatz der Leistung innerhalb des MBP von der CPU verwendet.

Wie für Auswirkungen auf die Roh-Rechenleistung, hängt es von der Art der Anwendungen, die Sie ausführen. Die meisten Anwendungen sind nicht mehr Kerne zu verwenden, entworfen, obwohl die meisten Top-End-Anwendungen sind. Also, wenn Sie Photoshop oder Videobearbeitungssoftware verwenden dann werden Sie eine deutliche Spitzenleistung Reduzierung der Fälle feststellen, wo die Performance-Engpass ist die CPU (und nicht über ein Netzwerk IO oder Disk IO).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top