Recientemente corrí yes > /dev/null
durante 3 minutos para agotar la batería de mi Mac. Durante ese tiempo, la temperatura aumentó a 72 ° C y los ventiladores giraron hasta 4000 RPM. Inmediatamente dejé el proceso.
¿Debo temer que este hardware dañado o la placa lógica?
/dev/null
Eventualmente desgastará el orificio en el puerto, por lo que necesitará pistones de gran tamaño, pero espere hasta que vea el humo del escape antes de apresurarse a un mecánico.Respuestas:
Ciertamente, como otros han dicho: la CPU y el núcleo 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
yes
y GNUyes
.macOS es un BSD, por lo que utilizará una distribución (antigua) de BSD
yes
.yes
código fuente de macOS (Darwin)yes
Código fuente BSDyes
Código fuente GNUExiste una buena discusión sobre las diferencias en ¿Cómo es GNU
yes
tan rápido?Y existe una discusión sobre esa discusión en el hilo de Hacker News del mismo nombre .
BSD / macOS
yes
realmente se ejecutaputs("y");
en un ciclo cerrado.GNU
yes
es ... algo más serio. Tiene optimizaciones mucho más allá del mero almacenamiento en búfer de E / S.fuente
Las instrucciones para
yes
tener esta pequeña joya de la página de manual :Lo que significa que no, no habrá dañado su hardware. Usar el
yes
comando es una forma de usar todo (es decir, el 100%) de tu CPU. En estas circunstancias, es de esperar los síntomas que experimentó (es decir, un aumento de la temperatura y el aumento resultante en las RPM del ventilador). Además, su CPU "acelerará" y finalmente se apagará si se excede su umbral térmico para evitar daños.fuente
El
yes
comando simplemente escribe repetidamente una cadena en stdout, el carácter y por defecto. Redirigirlo (>
)/dev/null
simplemente hace que se olviden los datos del 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 máxima utilización en un núcleo. Esta es la causa del aumento de la temperatura del procesador y del aumento de la velocidad del ventilador asociado.
En una máquina moderna, particularmente 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 maquina esta bien.
Usted mencionó una temperatura de 72 ° C específicamente. Esta no es una temperatura muy alta para un dado de CPU. Una modesta CPU móvil, 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: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- GHz
fuente
La triste verdad es: esto 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 estamos 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 lo mejor que existe.
Simplemente no es cierto que Apple diseñe ahora o diseñó en el pasado todos sus sistemas para realmente no dañarse a sí mismos por sobrecalentamiento. Si bien es cierto que esto no debería suceder , también es cierto que sí sucede . Y lo hizo:
El mejor ejemplo de esto son los MacBook Pros, especialmente los de 2010-2012. Si bien el chip Intel que se enfatiza principalmente
yes
en todos los subprocesos durante un tiempo prolongado se acelerará, manejará bastante bien las altas temperaturas 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í.Hacer hincapié en estos sistemas innecesariamente, como con
yes
, acelera la falla del chip gráfico RadeonGate. Existen numerosos ejemplos de preguntas para el 8,2 2011 más afectado en este mismo sitio web. Esta falla de la GPU es un problema térmico. Incluso hay guías sobre cómo matar la máquina simplemente ejecutando renderizado 3D pesado o puntos de referencia por un tiempo. Estos sistemas se anunciaron pero no son adecuados para, por ejemplo, renderizar o jugar. Las demandas colectivas (solo amenazadas) y los Programas de Reparación de Extensión hablan por sí mismos.fuente
yes
de ninguna manera interactúa con una GPU. La fuente deyes
llamadas sólo de las bibliotecas más básicas; ninguno de ellos son las bibliotecas de matemáticas (como mínimo para acceder a la GPU). En segundo lugar, el video que vinculó no se vincula de ninguna manerayes
con GPU fallidas. Rossman vincula la GPU fallida con una fabricación deficiente.yes
Destaca la CPU. Una CPU estresada se calienta. Luego, la temperatura aumenta 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 puede hacerlo regularmente en la mayoría de 8.2 MBP.