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

36

Ich bin vor kurzem yes > /dev/null3 Minuten gelaufen , um den Akku meines Mac zu entladen. Während dieser Zeit stieg die Temperatur auf 72 ° C und die Lüfter drehten sich auf 4000 U / min. Ich habe den Prozess sofort abgebrochen.

Sollte ich befürchten, dass diese Hardware oder die Hauptplatine beschädigt sind?

bmike
quelle
9
Denken Sie, dass Macs so konzipiert sind, dass sie durch das Spielen von 3D-Spielen, das Kompilieren großer Softwareprojekte usw. beschädigt werden?
user253751
3
Hier möchte ich hinzufügen, dass ein Freund es geschafft hat, die Tastatur seines kleinen Apple-Notebooks zu schmelzen (fragen Sie mich nicht nach dem genauen Modell), indem er einige große Projekte kompiliert hat. Danach wurde die A-Taste leicht deformiert. Immer noch funktionsfähig, aber man konnte den Unterschied sehen.
Byte Commander
3
Sie werden die Bohrung am /dev/nullAnschluss irgendwann verschlissen, sodass Sie übergroße Kolben benötigen. Warten Sie jedoch, bis Sie Rauch aus dem Auspuff sehen, bevor Sie zu einem Mechaniker eilen.
user207421
@EJP - Das stimmt auf jeden Fall, aber das Einspritzen eines guten synthetischen Schmiermittels direkt in den Anschluss kann die Lebensdauer verlängern. Ich habe auch gehört, dass Seafoaming eine Pseudo-Tty erhebliche Vorteile hat.
Allan
Was meinen Sie mit Ihrem Kommentar? @EJP

Antworten:

3

Sicher, wie andere gesagt haben: CPU und Kernel haben ihre eigenen Selbsterhaltungsstrategien.

Ich werde einige Details hinzufügen, wie yes Computerressourcen verwendet werden.

Es lohnt sich, zwischen BSD yesund GNU zu unterscheiden yes.
macOS ist eine BSD, daher wird eine (alte) BSD-Distribution verwendet yes.

Eine gute Diskussion der Unterschiede gibt es unter Wie ist GNU yesso schnell?

Und eine Diskussion über diese Diskussion gibt es im gleichnamigen Hacker News-Thread .

BSD / macOS yesläuft wirklich nur puts("y");in einer engen Schleife.
GNU yesist… etwas ernster. Optimierungen gehen weit über die reine Pufferung von E / A hinaus.

Birchlabs
quelle
55

Die Anleitung für yesdieses kleine Juwel finden Sie auf der Manpage :

Wenn Sie yes verwenden, wird der Prozessor zu 100% ausgelastet. Aus diesem Grund wird er nur selten zum Testen verwendet, z. B. um die CPU eines Computers zu optimieren.

Das heißt, nein, Sie haben Ihre Hardware nicht beschädigt. Mit dem yesBefehl können Sie Ihre gesamte CPU (dh 100%) nutzen. Die aufgetretenen 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ückgedrosselt" und letztendlich heruntergefahren, wenn ihre thermische Schwelle überschritten wird, um Schäden zu vermeiden.

Allan
quelle
2
Stimme voll und ganz zu. 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.
bmike
1
Aber ich habe gehört, dass beim Ausführen einer Schleife während der Ausführung einige Teile zum Schmelzen gebracht werden können. Und wie lange sollte ich den Befehl yes noch ausführen, damit mein Mac 105 ° C erreicht?
3
Es ist immer besser , mit dokumentierten empirischen Daten als mit Hörensagen zu arbeiten. Beispiel: Intel - Wie funktioniert das Herunterfahren bei Überhitzung? Was die benötigte Zeit anbelangt, 1) hängt es von Ihrer physischen Betriebsumgebung ab, und 2) was möchten Sie erreichen? Das ist jedoch eine andere Frage als ursprünglich gestellt.
Allan
3
Das ist eine ziemlich überraschende Aussage aus der Manpage! Ich bin damit einverstanden, dass es ziemlich nutzlos ist, es von Zeit zu Zeit in einen anderen Befehl umzuleiten.
Muzer
8

Der yesBefehl schreibt einfach wiederholt eine Zeichenfolge nach stdout, wobei das Zeichen standardmäßig y ist. Wenn Sie ( >) umleiten, werden /dev/nulldie Stream-Daten einfach vergessen. Mit anderen Worten, dies hat keine dauerhafte Auswirkung auf den dauerhaften Zustand Ihres Computers. Es ist kein schädlicher Befehl über dieses Objektiv.

Da der Befehl yes einen String ohne Einschränkung der Ausgabegeschwindigkeit auf stdout schreibt, erreicht die CPU auf einem Kern die maximale Auslastung. Dies ist die Ursache für den Anstieg der Prozessortemperatur und die damit verbundene Erhöhung der Lüftergeschwindigkeit.

In einem modernen Computer, insbesondere einem gut gestalteten Computer 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, wurde Ihre Hardware nicht überhitzt. Die Maschine ist in Ordnung.

Sie haben speziell eine Temperatur von 72 ° C erwähnt. Dies ist keine sehr hohe Temperatur für einen CPU-Chip. Eine bescheidene mobile CPU, der i5-7260U, gibt eine maximal zulässige Temperatur von 100 ° C vor. 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

Wahrsager
quelle
-2

Die traurige Wahrheit ist: Das kann " einem Mac schaden ".

Das tatsächliche Beispiel im Körper für die Frage: Dies hat das Gerät sehr wahrscheinlich nicht geschädigt. Gewährt.

Aber als allgemeine Antwort auf die Frage im Titel: Es kommt darauf an, um welchen Mac-Typ es sich handelt. Der Rat und die Argumentation, die bisher zu dieser Frage oder in den Kommentaren gegeben wurden, sind nicht allgemeingültig und können sehr gefährlich sein! Es wird zu viel Vertrauen und Zuversicht in den bloßen Glauben gesteckt, dass Apple-Hardware einfach das Beste ist, was es gibt.

Es ist einfach nicht wahr, dass Apple jetzt oder in der Vergangenheit alle seine Systeme so konzipiert hat, dass sie sich nicht durch Überhitzung wirklich selbst schädigen. Es ist zwar wahr, dass dies nicht passieren sollte, aber es ist auch wahr, dass es passieren sollte . Und tat:

Das beste Beispiel dafür sind die MacBook Pros, insbesondere die von 2010-2012. Während der Intel-Chip, der in erster Linie yesüber einen längeren Zeitraum mit allen Threads belastet ist, nachlässt, mit hohen Temperaturen recht gut zurechtkommt und selbst das Betriebssystem kernel_task einschaltet und hochfährt, um nichts Nützliches zu tun, außer die Maschine abzukühlen, die diskret arbeitet Chip auf der gleichen Heatpipe ist das verwundbare Gegenstück dort.

Das unnötige Betonen dieser Systeme yesbeschleunigt den Ausfall des RadeonGate-Grafikchips. Es gibt zahlreiche Beispiele für Fragen zu den am stärksten betroffenen 2011 8,2 auf dieser Website. Dieser GPU-Fehler ist ein thermisches Problem. Es gibt sogar Anleitungen, wie man die Maschine tötet, indem man einfach eine Zeit lang schwere 3D-Renderings oder Benchmarks ausführt . Diese Systeme wurden beworben, sind jedoch nicht für das Rendern oder Spielen geeignet. Sammelklagen (nur bedroht) und Reparaturverlängerungsprogramme sprechen für sich.

LаngLаngС
quelle
1
Ich besitze ein MacBook Anfang 2015 mit Retina-Display und kein MacBook 2011 für das info.Nice-Video.
Diese Antwort ist grundsätzlich falsch. yesinteragiert sowieso nicht mit einer GPU. Die Quelle für yesruft nur die grundlegendsten Bibliotheken auf. Keine davon ist die Mathematikbibliothek (mindestens erforderlich, um auf die GPU zuzugreifen). Zweitens ist das von Ihnen verknüpfte Video in keiner Weise yesmit ausgefallenen GPUs verknüpft . Rossman verbindet ausgefallene GPU mit schlechter Fertigung.
Allan
Es ist nicht grundsätzlich falsch auf den Geräten angegeben. Bei meiner Antwort geht es um die Unterscheidung zwischen Geräten. Und es geht um schlechte Herstellung und von Natur aus schlechtes Design. yesbetont die CPU. Eine gestresste CPU wird warm. Die Temperatur auf dem Kühlkörper wird dann erhöht, und derselbe Kühlkörper muss anfällige GPUs kühlen. Das Kühlkörper- / Thermodesign funktioniert bei den meisten 8,2 MBP nicht regelmäßig.
LongLangS
@LangLangC - Das Kühlkörper- / Thermodesign schlägt fehl. Das ist ein logischer Irrtum. Es gibt keinen Hinweis darauf, dass eine warme (er) CPU die Energiedissipationseigenschaften des Kühlkörpers beeinträchtigt, wodurch die GPU ausfällt, und Sie geben Hinweise, um die Behauptung zu untermauern. Das Video, das Sie verlinkt haben (alle 17 Minuten), erwähnt keine höheren CPU-Temperaturen oder die Belastung der CPU.
Allan
Der Beweis liegt in der Ausfallrate dieser Einheiten. Haben Sie sich diese Kühlkörper angesehen? Es ist einfache Physik.
LongLangS