Ich bin kürzlich yes > /dev/null
3 Minuten gelaufen, um den Akku meines Macs zu entladen. Während dieser Zeit stieg die Temperatur auf 72 °C und die Lüfter drehten mit bis zu 4000 U/min. Ich habe den Vorgang sofort abgebrochen.
Muss ich befürchten, dass diese Hardware oder das Logicboard beschädigt ist?
Sicherlich, wie andere gesagt haben: Die CPU und der Kernel haben beide ihre eigenen Selbsterhaltungsstrategien.
Ich werde etwas Geschmack darüber hinzufügen, wie yes
Computerressourcen verwendet werden.
Es lohnt sich, zwischen dem Verhalten von BSD yes
und GNU zu unterscheiden yes
.
macOS ist ein BSD, also wird eine (alte) Distribution von BSD verwendet yes
.
Eine gute Diskussion der Unterschiede findet sich unter How is GNU yes
so fast?
Und eine Diskussion dieser Diskussion gibt es im gleichnamigen Hacker News-Thread .
BSD/macOS yes
läuft wirklich nur puts("y");
in einer engen Schleife.
GNU yes
ist… etwas ernster. Es verfügt über Optimierungen, die weit über das bloße Puffern von E/A hinausgehen.
Die Anweisungen für yes
haben dieses kleine Juwel von der Manpage :
Die Verwendung von yes führt zu 100 % Prozessorauslastung, aus diesem Grund wird es nur selten verwendet, außer zum Testen, zB um die CPU eines Computers auszulasten.
Das heißt, nein, Sie haben Ihre Hardware nicht beschädigt. Die Verwendung des yes
Befehls ist eine Möglichkeit, die gesamte (dh 100%) Ihrer CPU zu verwenden. Die von Ihnen erlebten Symptome (dh ein Temperaturanstieg und die daraus resultierende Erhöhung der Lüfterdrehzahl) sind unter diesen Umständen zu erwarten. Darüber hinaus wird Ihre CPU "zurückgefahren" und schließlich heruntergefahren, wenn ihre thermische Schwelle überschritten wird, um Schäden zu vermeiden.
Der yes
Befehl schreibt einfach wiederholt einen String nach stdout, standardmäßig das Zeichen y. Die Umleitung ( >
) zu /dev/null
einfach bewirkt, dass die Stream-Daten vergessen werden. Mit anderen Worten, dies hat keine dauerhafte Auswirkung auf den dauerhaften Zustand Ihres Computers, es ist kein schädlicher Befehl durch diese Linse.
Da der Befehl yes einen String ohne Einschränkung der Ausgabegeschwindigkeit auf stdout schreibt, wird die CPU dadurch die maximale Auslastung auf einem Kern erreichen. Dies ist die Ursache für den Anstieg der Prozessortemperatur und die damit verbundene Erhöhung der Lüftergeschwindigkeit.
In einem modernen Gerät, insbesondere einem gut gestalteten wie einem Apple-Laptop, schützt sich die Hardware selbst vor Überhitzungsschäden. Zuerst durch Erhöhen der Lüftergeschwindigkeit, dann durch Verringern der Prozessortaktgeschwindigkeit und schließlich durch Anhalten des Prozessors. Ohne diese Funktionen absichtlich zu umgehen, überhitzt Ihre Hardware nicht. Die Maschine ist in Ordnung.
Sie haben ausdrücklich eine Temperatur von 72 °C erwähnt. Dies ist keine sehr hohe Temperatur für einen CPU-Die. Eine bescheidene mobile CPU, der i5-7260U, gibt eine maximal zulässige Temperatur von 100 °C an. Sie können die Spezifikation als T_Junction im Abschnitt mit den Paketspezifikationen auf dieser Seite sehen: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- GHz
Die traurige Wahrheit ist: Das kann „ einem Mac schaden “.
Das tatsächliche Beispiel, das im Körper für die Frage angegeben wurde: Dies hat dem Gerät sehr wahrscheinlich nicht geschadet. Gewährt.
Aber als generelle Antwort auf die Frage im Titel: Es kommt darauf an, um welchen Mac-Typ es sich handelt. Die Ratschläge und Argumente, die bisher zu dieser Frage oder in den Kommentaren gegeben wurden, sind nicht allgemein gültig und können ziemlich gefährlich sein! Es wird zu viel Vertrauen in den bloßen Glauben gesetzt, dass Apple-Hardware einfach die beste ist, die es gibt.
Es ist einfach nicht wahr, dass Apple jetzt oder in der Vergangenheit all seine Systeme so konzipiert hat, dass sie sich wirklich nicht durch Überhitzung schaden. Es stimmt zwar, dass dies nicht passieren sollte, aber es ist auch wahr, dass es passiert . Und tat:
Das Paradebeispiel dafür sind die MacBook Pros, insbesondere die von 2010-2012. Während der Intel-Chip, der hauptsächlich für längere Zeit in allen Threads belastet yes
wird, drosselt, mit hohen Temperaturen recht gut umgehen kann und sogar das Betriebssystem einschaltet und kernel_task hochfährt, um nichts Nützliches zu tun, außer dabei zu helfen, den Computer abzukühlen, ist der diskrete Chip auf derselben Heatpipe ist dort das anfällige Gegenstück.
Eine unnötige Belastung dieser Systeme, wie bei yes
, beschleunigt den Ausfall des RadeonGate-Grafikchips. Auf dieser Website gibt es zahlreiche Beispiele für Fragen zu den am stärksten betroffenen 2011 8,2. Dieser GPU-Ausfall ist ein thermisches Problem. Es gibt sogar Anleitungen, wie Sie die Maschine töten können, indem Sie einfach eine Zeit lang schweres 3D-Rendering oder Benchmarks ausführen. Diese Systeme wurden beworben, sind aber nicht für zB Rendering oder Gaming geeignet. Sammelklagen (nur angedroht) und Reparaturverlängerungsprogramme sprechen für sich.
yes
interagiert in keiner Weise mit einer GPU. Die Quelle für yes
ruft nur die einfachsten Bibliotheken auf; Keine davon sind die mathematischen Bibliotheken (mindestens erforderlich, um auf die GPU zuzugreifen). Zweitens verweist das von Ihnen verlinkte Video in keiner Weise yes
auf ausgefallene GPUs. Rossman verbindet fehlerhafte GPU mit schlechter Fertigung.yes
belastet die CPU. Eine gestresste CPU wird warm. Die Temperatur wird dann auf dem Kühlkörper erhöht und derselbe Kühlkörper muss anfällige GPUs kühlen. Dieser Kühlkörper/das thermische Design versagt regelmäßig bei den meisten 8,2 MBP.
Benutzer253751
Byte-Kommandant
Benutzer207421
/dev/null
sodass Sie übergroße Kolben benötigen, aber warten Sie, bis Sie Rauch aus dem Auspuff sehen, bevor Sie zu einem Mechaniker eilen.Allan
Benutzer244378
Mikromaschine