¿La ejecución de 'yes / dev / null' puede dañar a una Mac?

33

Hace poco ejecuté yes > /dev/null durante 3 minutos para agotar la batería de mi Mac. Durante ese tiempo, la temperatura subió a 72 ° C y los ventiladores giraron hasta 4000 RPM. Inmediatamente renuncié al proceso.

¿Debo temer que este hardware dañado o la placa lógica?

    
pregunta bmike 15.08.2017 - 12:40

4 respuestas

0

Ciertamente, como han dicho otros: la CPU y el kernel tienen sus propias estrategias de autoconservación.

Agregaré más información sobre cómo yes usa los recursos de la computadora.

Vale la pena distinguir entre el comportamiento de BSD yes y GNU yes .
macOS es un BSD, por lo que utilizará una distribución (antigua) de BSD yes .

Existe una buena discusión de las diferencias en ¿Por qué es tan rápido GNU yes ?

Y existe una discusión de esa discusión en el cadena de noticias del hacker del mismo nombre .

BSD / macOS yes realmente ejecuta puts("y"); en un bucle cerrado.
GNU yes es ... algo más serio. Tiene optimizaciones que van mucho más allá del simple almacenamiento en búfer de E / S.

    
respondido por el Birchlabs 16.08.2017 - 17:24
53

Las instrucciones para yes tienen esta pequeña joya de la página de manual :

  

Usar sí da como resultado un uso del procesador del 100%, por este motivo es   rara vez se utiliza para fines de prueba, por ej. para maximizar la CPU de una computadora.

Lo que significa que no, no habrás dañado tu hardware. El uso del comando yes es una forma de usar todo (es decir, el 100%) de su CPU. Los síntomas que experimentó (es decir, un aumento de la temperatura y el aumento resultante de las RPM del ventilador) deben esperarse en estas circunstancias. Además, su CPU se "acelerará" y finalmente se apagará si se supera su umbral térmico para evitar daños.

    
respondido por el Allan 15.08.2017 - 13:03
7

El comando yes simplemente escribe una cadena en stdout, el carácter y por defecto. Al redirigirlo ( > ) a /dev/null , simplemente se olvida la transmisión de datos. En otras palabras, esto no tiene un efecto duradero en el estado persistente de su computadora, no es un comando dañino a través de esta lente.

Dado que el comando yes escribe una cadena en la salida estándar sin ninguna restricción en la velocidad de salida, esto hará que la CPU alcance la máxima utilización en un núcleo. Esta es la causa del aumento de la temperatura del procesador y el aumento asociado de la velocidad del ventilador.

En una máquina moderna, particularmente una bien diseñada como una laptop de Apple, el hardware se protegerá de daños por sobrecalentamiento. Primero incrementando la velocidad del ventilador, luego disminuyendo la velocidad de reloj del procesador y, finalmente, deteniendo el procesador. Sin eludir intencionalmente estas características, su hardware no se recalentó. La máquina está bien.

Usted mencionó una temperatura de 72 ° C específicamente. Esta no es una temperatura muy alta para un troquel de CPU. Una cpu móvil modesta, la i5-7260U, especifica una temperatura máxima permitida de 100 ° C. Puede ver la especificación como T_Junction en la sección de especificaciones del paquete de esta página: enlace

    
respondido por el trognanders 16.08.2017 - 03:23
-2

La triste verdad es: este puede "Dañar a una Mac ".

El ejemplo real dado en el cuerpo para la pregunta: esto muy probablemente no dañó el dispositivo. Concedido.

Pero como respuesta general a la pregunta en el título: Depende de qué tipo de Mac estemos hablando. El consejo y el razonamiento que se han dado hasta ahora sobre esta pregunta o en los comentarios no son universalmente verdad, ¡y pueden ser muy peligrosos! Hay demasiada confianza y fe en la mera creencia de que el hardware de Apple es lo mejor que hay.

Simplemente no es cierto que Apple diseñe ahora o diseñe en el pasado todos sus sistemas para que realmente no se dañen a sí mismos por el sobrecalentamiento. Si bien es cierto que este no debería ocurrir , también es cierto que sí sucede . Y lo hizo:

El mejor ejemplo de esto son los MacBook Pros, especialmente los de 2010-2012. Mientras que el chip Intel que se estresa principalmente con yes en todos los subprocesos durante un tiempo prolongado se acelerará, manejará las altas temperaturas bastante bien e incluso el sistema operativo activará y aumentará el kernel_task para no hacer nada útil, excepto ayudar a enfriar la máquina , el chip discreto en el mismo heatpipe es la contraparte vulnerable allí.

Enfatizar estos sistemas innecesariamente, como con yes , acelera la falla del chip de gráficos RadeonGate. Hay numerosos ejemplos de preguntas a los 8,2 de 2011 más afectados en este mismo sitio web. Este error de GPU es un problema térmico. Incluso hay guías sobre cómo matar la máquina simplemente ejecutando una representación 3D pesada o puntos de referencia durante un tiempo. Estos sistemas fueron anunciados pero no adecuados para, por ejemplo, Renderizado o juego. Las demandas colectivas (solo amenazadas) y los programas de extensión de reparación hablan por sí mismos.

    
respondido por el LangLangC 26.08.2017 - 15:11

Lea otras preguntas en las etiquetas