Necesito estresar mis componentes rMBP (por ejemplo, CPU / GPU / RAM) sin cargar ninguna herramienta de software adicional.
Antecedentes: mi rMBP tiene una falla de hardware ( similar a este problema ) que causa bloqueos del sistema que solo se manifiestan una vez que ha estado en uso durante horas y está bajo carga diaria (se congela 4/5 veces al día en promedio) - Puedo usar geekbench que hace que el sistema se congele bastante rápido, pero quiere reproducir el error rápidamente sin tener instalado un software de terceros para mostrarle al equipo genio que el problema puede ser reproducible de una nueva instalación de High Sierra y sin ningún software de terceros instalado solo para acelerar subir el proceso de diagnósticos y eliminar los errores del usuario.
Actualmente estoy viendo videos de YouTube 4K y visitando greensock.com para hacer que Safari se estrese e intente abrir fotos, ¡pero la máquina ni siquiera se da cuenta de la carga adicional!
Respuestas:
Consumir todos los núcleos de CPU
El siguiente comando ejecuta una
yes
instancia para cada núcleo de CPU y consume casi el máximo de la capacidad de procesamiento de la computadora:El comando se basa en la respuesta de Mike , pero ejecuta varias instancias de
yes
withxargs
. Unyes
proceso maximizará un núcleo de CPU, por lo que se necesitan múltiples procesos. Gracias a @ lights0123 por refinar este comando.Esto trata con la CPU pero no con la GPU o RAM.
CPU + GPU = WebGL
Para enfatizar la CPU y la GPU, visite ShibuyaCrowd , un experimento WebGL ( código abierto ).
Un minuto después de ejecutar este sitio, su MacBook Pro debería estar bajo una carga computacional razonable.
fuente
CPU="$(sysctl -n hw.ncpu)" seq $CPU | xargs -I{} -P $CPU yes > /dev/null
funcionará.yes
técnica calentará la CPU, pero realmente no la estresará: apenas toca las cachés, no hace nada con las unidades de cálculo de punto flotante y, por lo demás, apenas toca los circuitos aritméticos enteros. A menos que la falla esté en algún lugar de la pequeña parte de la CPU que realmente usa, es probable que no se congele.Simplemente ingrese el comando
yes > /dev/null
en una sesión de Terminal. Eso maximizará un núcleo de CPU hasta que lo presione Ctrl-C o cierre la ventana Terminal.fuente
octave
o algún otro lenguaje numérico, entonces tal vez una matriz de tamaño mediano multiplicada en un bucle podría hacer el truco. Las unidades de ejecución múltiple SIMD FP generan mucho calor cuando se mantienen ocupadas. Oh, la codificación de video es bastante exigente, especialmente códecs más complejos como h.264. Eso podría hacer el truco si tiene alguna fuente de datos para usar. Pero no use GPU-offload (función fija de baja potencia), desea codificación de CPU.cat /dev/urandom > /dev/null
podría mantener ocupada una CPU. Sin embargo, dependiendo de cuán multiproceso sea el PRNG del núcleo, ejecutarlo en múltiples núcleos podría no ser útil. Inclusoawk 'BEGIN { while(1){} }'
probablemente solo hará más queyes
, lo que pasa todo su tiempo en llamadas al sistema. (Y la CPU no calienta mucho cuando se detiene durante el usuario -> transiciones del kernel.)