Exécuter `yes> / dev / null` peut-il nuire à un Mac?


36

J'ai récemment couru yes > /dev/nullpendant 3 minutes pour vider la batterie de mon Mac. Pendant ce temps, la température a atteint 72 ° C et les ventilateurs ont tourné jusqu'à 4000 tr / min. J'ai immédiatement quitté le processus.

Dois-je craindre que ce matériel endommagé ou la carte logique?


9
Pensez-vous que les Mac sont conçus pour être endommagés en jouant à des jeux en 3D, en compilant de gros projets logiciels, etc.?
user253751

3
J'aimerais ajouter ici qu'un de mes amis a réussi à faire fondre le clavier de son petit carnet de notes Apple (ne me demandez pas le modèle exact) en compilant de gros projets. Ensuite, la touche A était légèrement déformée. Toujours fonctionnel, mais vous pouvez voir la différence.
Byte Commander

3
Vous finirez par /dev/nullépuiser l'alésage du port, vous aurez donc besoin de pistons surdimensionnés, mais attendez de voir la fumée s'échapper de l'échappement avant de vous précipiter chez un mécanicien.
user207421

@EJP - C'est tout à fait vrai, mais injecter un bon lubrifiant synthétique directement dans le port peut aider à prolonger la durée de vie. J'ai aussi entendu dire que Seafoaming, un pseudo tty, présente des avantages considérables.
Allan

Que voulez-vous dire par votre commentaire? @EJP

Réponses:


3

Comme d'autres l'ont déjà dit, le processeur et le noyau ont tous deux leur propre stratégie de préservation.

Je vais ajouter un peu de saveur concernant l' yes utilisation des ressources informatiques.

Il convient de distinguer le comportement de BSD de yesGNU yes.
macOS est un BSD, donc utilisera une (ancienne) distribution de BSD yes.

Une bonne discussion sur les différences existe dans Comment GNU est-il yessi rapide?

Et une discussion de cette discussion existe sur le fil Hacker News du même nom .

BSD / macOS yesne fonctionne vraiment que puts("y");dans une boucle serrée.
GNU yesest… un peu plus sérieux. Ses optimisations vont bien au-delà de la simple mise en tampon des entrées / sorties.


55

Les instructions pour yesavoir ce petit bijou de la page de manuel :

L'utilisation de yes entraîne une utilisation du processeur à 100%; pour cette raison, il est rarement utilisé, sauf pour tester, par exemple, pour maximiser le processeur d'un ordinateur.

Ce qui signifie, non, vous n'aurez pas endommagé votre matériel. L'utilisation de la yescommande est une façon d'utiliser tout (c'est-à-dire 100%) de votre CPU. Les symptômes que vous avez ressentis (c.-à-d. Une augmentation de la température et de la vitesse du ventilateur qui en résulte) sont à prévoir dans ces circonstances. De plus, votre CPU va "ralentir" et s'arrêtera finalement si son seuil thermique est dépassé pour éviter tout dommage.


2
Entièrement d'accord. Les machines peuvent fonctionner à 100 degrés Cœur pendant des heures et disposent de nombreuses protections pour réduire la planification des processeurs si le refroidissement ne suit pas.
bmike

1
Mais j'ai entendu dire que l'exécution d'une boucle pendant l'exécution peut faire fondre certaines parties.Et combien de temps dois-je laisser la commande yes s'exécuter pour que mon Mac atteigne 105 ° C?

3
Il est toujours préférable d’utiliser des données empiriques documentées plutôt que des ouï-dire. Par exemple, voir: Intel - Comment l'arrêt sur la surchauffe fonctionne-t-il? En ce qui concerne le temps requis, 1) cela dépend de votre environnement d'exploitation physique et 2) qu'essayez-vous d'accomplir? C’est cependant une question différente de celle posée à l’origine.
Allan

3
C'est une déclaration assez surprenante de la page de manuel! Je suis d’accord pour dire qu’il est plutôt inutile de le lancer tout seul, mais il peut être très utile de le placer dans une autre commande de temps en temps.
Muzer


8

La yescommande écrit simplement plusieurs fois une chaîne sur stdout, le caractère y par défaut. La redirection ( >) /dev/nullentraîne simplement l’oubli des données du flux. En d'autres termes, cela n'a pas d'effet durable sur l'état persistant de votre ordinateur, il ne s'agit pas d'une commande nuisible via cet objectif.

Étant donné que la commande yes écrit une chaîne sur stdout sans aucune contrainte sur la vitesse de sortie, le processeur atteindra une utilisation maximale sur un cœur. Ceci est la cause de l'augmentation de la température du processeur et de l'augmentation de la vitesse du ventilateur associée.

Dans une machine moderne, en particulier une machine bien conçue comme un ordinateur portable Apple, le matériel se protègera de tout dommage dû à la surchauffe. Tout d'abord en augmentant la vitesse du ventilateur, puis en diminuant la vitesse d'horloge du processeur, puis en arrêtant le processeur. Sans contourner intentionnellement ces fonctionnalités, votre matériel ne surchauffe pas. La machine va bien.

Vous avez mentionné une température de 72 ° C en particulier. Ce n'est pas une température très élevée pour une puce CPU. Un processeur modeste mobile, le i5-7260U, spécifie une température maximale admissible de 100 ° C. Vous pouvez voir la spécification en tant que T_Junction dans la section des spécifications du package de cette page: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- GHz


-2

La triste vérité est la suivante: cela peut "nuire à un Mac ".

L'exemple réel donné dans le corps de la question: cela n'a probablement pas endommagé l'appareil. Accordé.

Mais comme réponse générale à la question dans le titre: Cela dépend de quel type de Mac nous parlons. Les conseils et les raisonnements donnés jusqu'ici sur cette question ou dans les commentaires ne sont pas universellement vrais et peuvent être assez dangereux! Il y a trop de confiance et de confiance dans la simple conviction que le matériel Apple est tout simplement le meilleur qui soit.

Il n’est tout simplement pas vrai que Apple conçoive ou ait conçu par le passé tous ses systèmes pour ne pas se nuire à soi-même par surchauffe. S'il est vrai que cela ne devrait pas arriver, il est également vrai que cela arrive . Et a fait:

Les principaux exemples de cette situation sont les MacBook Pro, en particulier ceux de 2010-2012. Alors que la puce Intel qui est principalement sollicitée yessur tous les threads pendant une période prolongée va ralentir, supportera très bien les températures élevées et même le système d’exploitation démarrera et accélèrera kernel_task pour ne rien faire d’utile si ce n’est d’aider à refroidir la machine, le discret puce sur le même caloduc est la contrepartie vulnérable là-bas.

Le fait de solliciter inutilement ces systèmes, comme avec yes, accélère la défaillance de la puce graphique RadeonGate. Il existe de nombreux exemples de questions pour le plus affecté 2011 8,2 sur ce site même. Cette défaillance du processeur graphique est un problème thermique. Il existe même des guides sur la manière de tuer la machine en exécutant simplement un rendu 3D lourd ou des points de repère pendant un certain temps. Ces systèmes ont été annoncés pour, mais ne conviennent pas pour, par exemple, le rendu ou les jeux. Les recours collectifs (seulement menacés) et les programmes d'extension de réparation parlent d'eux-mêmes.


1
Je possède un MacBook au début de 2015 avec un écran Retina et non un MacBook 2011 pour la vidéo info.Nice.

Cette réponse est fondamentalement incorrecte. yesn'interagit en aucun cas avec un GPU. La source pour yesseulement appelle les bibliothèques les plus basiques; Aucune d'entre elles n'étant les bibliothèques mathématiques (au minimum requis pour accéder au GPU). Deuxièmement, la vidéo que vous avez liée ne constitue en aucun cas un lien yesvers des GPU défaillants. Rossman associe l'échec du GPU à une mauvaise fabrication.
Allan

Ce n’est pas fondamentalement incorrect sur les appareils donnés. Ma réponse concerne la différenciation entre les appareils. Et il s’agit d’une fabrication médiocre et d’ une conception intrinsèquement médiocre. yessouligne le processeur. Un processeur stressé devient chaud. La température du dissipateur thermique est alors augmentée et ce même dissipateur thermique doit refroidir les cartes graphiques vulnérables. Ce dissipateur thermique / conception thermique ne parvient pas à le faire régulièrement sur la plupart des 8,2 MBP.
LаngLаngС

@LangLangC - Cette conception dissipateur thermique / thermique échoue. C'est une erreur logique. Il n'y a aucune preuve qu'un processeur plus chaud entrave les propriétés de dissipation d'énergie du dissipateur de chaleur, ce qui entraîne l'échec du processeur graphique et vous fournit des preuves à l'appui de la demande. La vidéo que vous avez liée (toutes les 17 minutes) ne fait aucune mention d'un temps processeur plus élevé ou d'une contrainte sur le processeur.
Allan

La preuve est dans le taux d'échec dans ces unités. Avez-vous regardé ces radiateurs? C'est de la physique simple.
LаngLаngС
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.