¿Ejecutar `yes > /dev/null` puede dañar una Mac?

Recientemente corrí yes > /dev/nulldurante 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 abandoné el proceso.

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

¿Crees que las Mac están diseñadas para dañarse al jugar juegos en 3D, compilar grandes proyectos de software, etc.?
Me gustaría agregar aquí que un amigo mío logró derretir el teclado de su pequeño portátil Apple (no me pregunten por el modelo exacto) compilando algunos proyectos grandes. Posteriormente, la tecla A se deformó ligeramente. Todavía funcional, pero se podía ver la diferencia.
Eventualmente desgastará el orificio del /dev/nullpuerto, por lo que necesitará pistones de gran tamaño, pero espere hasta que vea humo del escape antes de acudir a un mecánico.
@EJP: definitivamente es cierto, pero inyectar un buen lubricante sintético directamente en el puerto puede ayudar a prolongar la vida útil. También escuché que Seafoaming a pseudo tty tiene beneficios significativos.
¿Qué quieres decir con tu comentario? @EJP
Escribí 'sí > /dev/null' en la Terminal y no pasó nada...?

Respuestas (4)

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

Agregaré algo de sabor sobre cómo yes usa los recursos de la computadora.

Vale la pena distinguir entre el comportamiento de BSD yesy 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 ¿Cómo es GNU yestan rápido?

Y existe una discusión de esa discusión en el hilo de Hacker News del mismo nombre .

BSD/macOS yesrealmente se ejecuta puts("y");en un ciclo cerrado.
GNU yeses… algo más serio. Tiene optimizaciones mucho más allá del mero almacenamiento en búfer de E/S.

Las instrucciones para yestener esta pequeña joya de la página del manual :

Usar yes da como resultado un uso del 100% del procesador, por esta razón rara vez se usa para probar, por ejemplo, para maximizar la CPU de una computadora.

Lo que significa que no, no habrás dañado tu hardware. Usar el yescomando 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 consiguiente aumento de las RPM del ventilador) son de esperar en estas circunstancias. Además, su CPU "retrocederá" y finalmente se apagará si se excede su umbral térmico para evitar daños.

Totalmente de acuerdo. Las máquinas pueden funcionar a 100 grados de CPU durante horas y tienen muchas medidas de seguridad para reducir la programación de la CPU si la refrigeración no se mantiene.
Pero he oído que mientras se ejecuta el bucle mientras la ejecución puede derretir algunas partes. ¿Y cuánto tiempo debería haber dejado el comando yes ejecutándose para que mi Mac alcance los 105 C?
Siempre es mejor ir con datos empíricos documentados en lugar de rumores. Por ejemplo, consulte: Intel: ¿cómo funciona el apagado por sobrecalentamiento? En cuanto al tiempo requerido, 1) depende de su entorno operativo físico y 2) ¿qué está tratando de lograr? Eso, sin embargo, es una pregunta diferente a la que se planteó originalmente.
Gracias por la respuesta @Allan. Solo hice un comando documentado que es el comando sí.
¡Esa es una declaración bastante sorprendente de la página de manual! Si bien ejecutarlo solo es, estoy de acuerdo, bastante inútil, conectarlo a otro comando puede ser bastante útil de vez en cuando.

El yescomando simplemente escribe repetidamente una cadena en stdout, el carácter y por defecto. Redirigirlo ( >) /dev/nullsimplemente hace que se olviden los datos de flujo. 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 stdout sin ninguna restricción en la velocidad de salida, esto hará que la CPU alcance la utilización máxima en un núcleo. Esta es la causa del aumento de la temperatura del procesador y del aumento asociado de la velocidad del ventilador.

En una máquina moderna, particularmente en una bien diseñada como una computadora portátil Apple, el hardware se protegerá a sí mismo del daño por sobrecalentamiento. Primero aumentando la velocidad del ventilador, luego disminuyendo la velocidad del reloj del procesador y finalmente deteniendo el procesador. Sin eludir intencionalmente estas características, su hardware no se sobrecalentó. La máquina está bien.

Mencionaste una temperatura de 72 °C específicamente. Esta no es una temperatura muy alta para una matriz de CPU. Una CPU móvil modesta, la i5-7260U, especifica una temperatura máxima permisible de 100 °C. Puede ver la especificación como T_Junction en la sección de especificaciones del paquete de esta página: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- GHz

La triste verdad es que esto puede "dañar una Mac ".

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

Pero como respuesta general a la pregunta del título: Depende de qué tipo de Mac estemos hablando. ¡ Los consejos y razonamientos dados hasta ahora sobre esta pregunta o en los comentarios no son universalmente ciertos y pueden ser bastante peligrosos! Hay demasiada confianza y fe en la mera creencia de que el hardware de Apple es el mejor que existe.

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

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

Estresar estos sistemas innecesariamente, como con yes, acelera la falla del chip gráfico RadeonGate. Hay numerosos ejemplos de preguntas a los más afectados 2011 8,2 en este mismo sitio web. Esta falla de GPU es un problema térmico. Incluso hay guías sobre cómo matar la máquina simplemente ejecutando una renderización 3D pesada o puntos de referencia durante un tiempo. Estos sistemas se publicitaron pero no eran adecuados para, por ejemplo, renderizar o jugar. Las demandas colectivas (solo amenazadas) y los Programas de Extensión de Reparación hablan por sí mismos.

Tengo una MacBook de principios de 2015 con pantalla Retina, no una MacBook 2011 para la información. Sin embargo, buen video.
Esta respuesta es fundamentalmente incorrecta. yesde ninguna manera interactúa con una GPU. La fuente solo llama a yeslas bibliotecas más básicas; ninguna de ellas son las bibliotecas matemáticas (como mínimo requeridas para acceder a la GPU). En segundo lugar, el video que vinculó no vincula de ninguna manera yesa las GPU fallidas. Rossman vincula la GPU fallida con una fabricación deficiente.
No es fundamentalmente incorrecto en los dispositivos dados. Mi respuesta se trata de diferenciar entre dispositivos. Y se trata de una fabricación deficiente y un diseño inherentemente deficiente. yeshace hincapié en la CPU. Una CPU estresada se calienta. Luego se aumenta la temperatura en el disipador de calor y ese mismo disipador de calor tiene que enfriar las GPU vulnerables. Ese disipador de calor/diseño térmico no lo hace regularmente en la mayoría de los 8.2 MBP.
@LangLangC: ese disipador de calor/diseño térmico falla. Eso es una falacia lógica. No hay evidencia de que una CPU más caliente obstaculice las propiedades de disipación de energía del disipador de calor, lo que hace que la GPU falle y usted proporciona evidencia para respaldar la afirmación. El video que vinculó (los 17 minutos) no menciona las temperaturas más altas de la CPU ni el estrés de la CPU.
La evidencia está en la tasa de fracaso en estas unidades. ¿Has mirado estos disipadores de calor? Es física simple.
@LangLangC: lo invito a leer el comentario en mi respuesta re: datos empíricos y luego el comentario re: detenerse y prenderse fuego .