Kann das Ausführen von `yes > /dev/null` einem Mac schaden?

Ich bin kürzlich yes > /dev/null3 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?

Glauben Sie, dass Macs darauf ausgelegt sind, durch das Spielen von 3D-Spielen, das Kompilieren großer Softwareprojekte usw. beschädigt zu werden?
Ich möchte hier hinzufügen, dass ein Freund von mir es geschafft hat, die Tastatur seines kleinen Apple-Notebooks (fragen Sie mich nicht nach dem genauen Modell) durch das Kompilieren einiger großer Projekte zum Schmelzen zu bringen. Danach war die A-Taste leicht verformt. Funktioniert noch, aber man sieht den Unterschied.
Sie werden die Bohrung am Anschluss irgendwann abnutzen, /dev/nullsodass Sie übergroße Kolben benötigen, aber warten Sie, bis Sie Rauch aus dem Auspuff sehen, bevor Sie zu einem Mechaniker eilen.
@EJP - Das stimmt definitiv, aber das Einspritzen eines guten synthetischen Schmiermittels direkt in den Anschluss kann dazu beitragen, die Lebensdauer zu verlängern. Ich habe auch gehört, dass das Seafoaming eines Pseudo-TTY erhebliche Vorteile hat.
Was meinen Sie mit Ihrem Kommentar?@EJP
Ich habe im Terminal 'yes > /dev/null' eingegeben und nichts ist passiert...?

Antworten (4)

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 yesund 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 yesso fast?

Und eine Diskussion dieser Diskussion gibt es im gleichnamigen Hacker News-Thread .

BSD/macOS yesläuft wirklich nur puts("y");in einer engen Schleife.
GNU yesist… etwas ernster. Es verfügt über Optimierungen, die weit über das bloße Puffern von E/A hinausgehen.

Die Anweisungen für yeshaben 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 yesBefehls 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.

Völlig einverstanden. Die Maschinen können stundenlang bei 100 Grad CPU laufen und haben viele Sicherheitsvorkehrungen, um die CPU-Planung zu senken, wenn die Kühlung nicht mithält.
Aber ich habe gehört, dass beim Ausführen der Schleife während der Ausführung einige Teile schmelzen können. Und wie lange sollte ich den Ja-Befehl laufen lassen, damit mein Mac 105 ° C erreicht?
Es ist immer am besten, sich auf dokumentierte, empirische Daten zu verlassen und nicht auf Hörensagen. Siehe zum Beispiel: Intel – Wie funktioniert das Herunterfahren bei Überhitzung? Die erforderliche Zeit hängt 1) von Ihrer physischen Betriebsumgebung ab und 2) was möchten Sie erreichen? Das ist aber eine andere Frage als ursprünglich gestellt.
Danke für die Antwort @Allan. Ich habe nur einen dokumentierten Befehl ausgeführt, der ja-Befehl ist.
Das ist eine ziemlich überraschende Aussage von der Manpage! Ich stimme zu, dass es ziemlich nutzlos ist, es alleine auszuführen, aber es kann von Zeit zu Zeit sehr nützlich sein, es in einen anderen Befehl zu leiten.

Der yesBefehl schreibt einfach wiederholt einen String nach stdout, standardmäßig das Zeichen y. Die Umleitung ( >) zu /dev/nulleinfach 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 yeswird, 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.

Ich besitze ein MacBook Anfang 2015 mit Retina-Display, kein MacBook 2011 für die Info. Schönes Video.
Diese Antwort ist grundsätzlich falsch. yesinteragiert in keiner Weise mit einer GPU. Die Quelle für yesruft 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 yesauf ausgefallene GPUs. Rossman verbindet fehlerhafte GPU mit schlechter Fertigung.
Es ist auf den angegebenen Geräten nicht grundsätzlich falsch. Meine Antwort bezieht sich auf die Unterscheidung zwischen Geräten. Und es geht um schlechte Herstellung und von Natur aus schlechtes Design. yesbelastet 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.
@LangLangC - Dieser Kühlkörper / dieses thermische Design schlägt fehl. Das ist ein logischer Fehlschluss. Es gibt keine Beweise dafür, dass eine warme (er) CPU die Energiedissipationseigenschaften des Kühlkörpers behindert, was dazu führt, dass die GPU ausfällt, und Sie liefern Beweise, um die Behauptung zu stützen. Das von Ihnen verlinkte Video (alle 17 Minuten) erwähnt keine höheren CPU-Temperaturen oder eine Belastung der CPU.
Der Beweis liegt in der Ausfallrate in diesen Einheiten. Hast du dir diese Kühlkörper angesehen? Es ist einfache Physik.
@LangLangC - Ich lade Sie ein, den Kommentar in meiner Antwort zu lesen: empirische Daten, dann den Kommentar zu: Halt und Feuer fangen .