¿Cómo desactivo SpeedStep cuando uso MacBook Pro sin batería?

En primer lugar, las especificaciones:

  • MacBook Pro (15 pulgadas, principios de 2011)
  • OS X 10.9.1 (Mavericks)
  • Intel Core i7 de 2,3 GHz
  • 8GB RAM

El problema

Recientemente, mi batería se agotó al azar y tuve que desconectarla, de lo contrario, mi computadora no se encendía correctamente (MacBook Pro se reiniciaba y se apagaba una y otra vez).

Ahora, cada vez que enchufo el cable de alimentación, se inicia de inmediato (incluso sin presionar el botón de encendido), se apaga después de unos segundos y luego se inicia normalmente. Extraño.

Sin embargo, el principal problema es que, después de un tiempo, la computadora portátil se vuelve MUY lenta. Por "MUY lento" quiero decir: los juegos se vuelven imposibles de jugar (los FPS caen de 60 a 6) y kernel_task comienza a usar más del 500% de la CPU. Además, la velocidad del mouse aumenta significativamente .

Probé la guía de interrock (la publicación número 10) pero no parece funcionar correctamente y me provocó un pánico en el kernel relacionado con SleepEnabler .

PD He leído en alguna parte que Apple hace este " underclocking " intencionalmente, por razones de seguridad o marketing (para comprar una batería nueva). Por favor, corríjame si estoy equivocado.

OS X acelerará de manera inteligente la CPU en función de ciertas condiciones en un esfuerzo por a) prolongar la vida útil de la batería yb) evitar daños en el sistema (debido al calor excesivo). Apple no "sabotea" las máquinas en un esfuerzo por lograr que los clientes compren baterías nuevas. – cksum

Cualquier ayuda sería apreciada. Gracias de antemano.


Solución (que funcionó para mí)

https://web.archive.org/web/20190507215911/http://www.rdoxenham.com/?p=259

Descartar un sensor de temperatura podría ser un excelente primer lugar para comenzar, así que responderé la parte "por qué" a continuación en una respuesta real. Además, el comportamiento de encendido es preocupante e indica que el hardware o software SMC+ no está funcionando correctamente. Intente restablecer la NVRAM una vez también si no lo ha hecho desde que notó ese problema.
La aceleración de la CPU se llama SpeedStep y está integrada en el chip. OS X simplemente se conecta a la tecnología. SS fue iniciado y desarrollado por Intel. Como se dijo, OS X acelerará de manera inteligente la CPU en función de ciertas condiciones en un esfuerzo por a) prolongar la vida útil de la batería y b) evitar daños en el sistema (debido al calor excesivo). Apple no "sabotea" las máquinas en un esfuerzo por lograr que los clientes compren baterías nuevas.
El caso es que en Windows (Boot Camp) todo funciona perfectamente. Incluso si no tiene batería, es posible seleccionar el modo " Alto rendimiento " y trabajar como de costumbre. ¿Sería posible hacer lo mismo en el OS X?
Vuelva a conectar su batería. Dado que su modelo tiene uno incorporado, no es recomendable desconectarlo. Me imagino que esto es lo que está causando los problemas, ya que nunca debieron funcionar sin uno. Luego llévelo a una Apple Store y pídales que ejecuten un diagnóstico en él. Puede haber otros problemas que desconozca. Si la batería simplemente ha perdido su carga con el tiempo, no debería hacer que el sistema se reinicie a menos que esté funcionando sin el cargador enchufado. No existe una solución de software para el problema que tiene y está tratando de ocultar los síntomas en lugar de solucionar el problema. raíz del problema.
El enlace no es válido. Es por eso que se desaconseja encarecidamente publicar solo un enlace en lugar de una explicación en SE.

Respuestas (6)

Parece que tienes un problema con la batería, aunque es probable que solo se sume al problema subyacente que mencionaste.

El concepto detrás de Speedstep parece bueno, sin embargo, la forma en que funciona es bastante mala, especialmente cuando se trata de kernel_task. Creo que es la razón por la que está viendo una desaceleración tan dramática, porque esta "característica" consume la mayor parte de la CPU de su MacBook Pro, por lo que aparentemente puede enfriar su sistema y ahorrar energía.

La tecnología Intel SpeedStep permite que el sistema ajuste dinámicamente el voltaje del procesador y la frecuencia del núcleo, lo que puede resultar en una disminución del consumo de energía promedio y una disminución de la producción de calor promedio. (de Intel)

Lo que esto significa es que terminas perdiendo una parte significativa de la CPU mientras que SpeedStep secuestra kernel_task y continuamente lleva a cabo tareas de baja sobrecarga hasta que la temperatura de la CPU desciende. Su sistema esencialmente se atasca para que pueda ahorrar energía independientemente de si lo desea o no. Me imagino que la mayoría de las personas esperan poder usar toda la potencia de su CPU cuando lo deseen, no cuando su sistema se lo permita.

Afortunadamente, esta "característica" está integrada en un kext, en el que cada identificador de modelo especifica cómo controlar la temperatura de la CPU. Es una solución simple, y la mayoría de las personas que tienen problemas similares a los que usted describe están muy felices una vez que se dan cuenta de esto. No me atribuyo el mérito de esta solución, ya que todo se debe a Rhys Oxenhams, quien investigó esto y encontró una solución .

Solo para que estemos en la misma página, todos están de acuerdo en que esto es un error para Apple y "debería" funcionar sin problemas sin batería pero conectado a la corriente, ¿sí?
@rogerdpack: es posible que su sistema no funcione correctamente hasta que obtenga una batería nueva; Sin embargo, creo que el OP desconectó su batería y también deshabilitó el paso rápido por lo que parece. No debería doler nada intentarlo como él lo había hecho.
El enlace a rdoxenham.com/?p=259 está roto. ¿Tendrías el contenido disponible en otro lugar?
uno puede encontrar un truco de placa lógica aquí para alimentar sin batería. ifixit.com/Answers/View/646298/…

La tarea del núcleo que absorbe los ciclos de la CPU es principalmente un problema de seguridad y longevidad.

La CPU es capaz de generar mucho más calor del que puede irradiar el marco de la MacBook Pro y, para controlar los ventiladores defectuosos y otras fallas de hardware, el sistema reducirá drásticamente la capacidad de la CPU para generar calor cuando detecte un aumento rápido en las temperaturas medidas. - especialmente cuando los sopladores no responden como se esperaba o ya se les ha ordenado que funcionen a sus valores máximos de RPM.

Querrá descartar la temperatura como causa de este comportamiento como primer paso, en mi opinión.

Además, considere reemplazar la batería, ya que también tiene sensores de temperatura y el firmware puede ser mucho más conservador con la CPU cuando sabe que algunos sensores ya no están funcionando, por así decirlo.

No creo que SpeedStep (aceleración de la CPU) se mida a través del calor. Creo que OS X acelerará la CPU mediante una verificación de hardware. Si detecta que un ventilador no está activo, acelerará el procesador para evitar el calor excesivo. El calor en este caso es la medida de control, no el catalizador.

Apple no solo reduce la frecuencia de la CPU a aproximadamente la mitad, cuando no hay batería, sino también la GPU , con o sin batería.

Creo que el motivo no es forzar necesariamente al usuario a comprar una batería nueva, sino que sigue siendo un motivo de marketing. ¿Ha notado que el cargador de CA MBP es considerablemente más pequeño que la mayoría de los cargadores de CA para computadoras portátiles? No soy un experto en vatios y voltaje, pero para dar cuenta del diseño minimalista y elegante, no lo hicieron lo suficientemente potente como para que funcione su MBP. Necesita una batería para obtener la máxima potencia; de lo contrario, el adaptador de CA y su máquina podrían quemarse o simplemente dejar de funcionar.

La aceleración de la GPU fue una medida para garantizar que su marca obtuviera una mejor duración de la batería que la competencia; de lo contrario, obtendría ~ 4 horas de uso, lo que no es realmente competitivo en el mundo de las computadoras portátiles.

Una solución para el problema de la CPU, además de la que publicaste , consiste en undervolting , que ofrece una aplicación shareware llamada CoolBook . Desafortunadamente, solo es compatible con Snow Leopard y tiene una política de licencias muy estricta (por computadora, no por usuario). La opción más segura sigue siendo conseguir una batería nueva.

Aquí se publica una solución para el problema de la GPU .

Creo que su problema principal y su batería están relacionados en un sentido Domino. No puedo decirlo por tu publicación, pero dijiste que desconectaste la batería. Al hacerlo, reinicie su SMC, es por eso que ahora, cada vez que conecta un cable de alimentación, la unidad salta y tiene un ataque cardíaco leve, se reinicia y finalmente arranca.

Su SMC se ha dañado y debe restablecerse; para ello, consulte http://support.apple.com/kb/ht3964

Ahora, con respecto a su% de CPU, estoy de acuerdo con cksum y bmike. Su batería tiene sensores y si falta o está dañada, debe reemplazarla porque los ventiladores y la unidad se asustarán bajo el estrés o el tiempo. Además, también sugeriría ejecutar Apple Hardware Test, que debería estar en uno de los DVD grises de su sistema que se envió con la unidad. Ejecutar AHT prueba los sensores rápidamente y verifica la CPU y la RAM, lo cual es algo útil en este caso. No quiero pensar que haya alguna razón por la que puedan ocurrir daños por ESD, pero es un riesgo y una posibilidad.

El método de rdoxenham soluciona el problema de kernel_task, pero no devuelve el rendimiento de la CPU a su modo real. Déjame darte el trasfondo de mi historia.

Tengo un MBP de 15 pulgadas a principios de 2011 (i7, 10 GB de RAM), así que ha pasado un tiempo desde que se agotó la batería y enfrenté el retraso de la GPU y la CPU hasta la solución de rdoxenham.

Este proceso es una solución temporal hasta que reemplacemos nuestra batería muerta/vieja/defectuosa. Sin la batería en la computadora portátil, la CPU no consume suficiente energía para funcionar a su nivel óptimo.

Si usa GeekBench para probar el rendimiento de su computadora portátil, notará la diferencia en el puntaje de su computadora portátil y otros sin este problema.

Mi puntaje parecía afectado porque la CPU no obtenía la energía que necesitaba sin la batería. Esta solución resuelve la parte del problema del software, pero no resuelve la parte del hardware.

Nuestras CPU necesitan su jugo y yo diría que este FIX es una GRAN solución para ellos, que solo enfrentan el problema del kernel con una batería que funciona. Pero para alguien como yo (que ejecuta una macbook sin batería), esto no resuelve todo. OBTENGA UNA BATERÍA LO ANTES POSIBLE. ¡AMAZONAS!

El método de rdoxenham también funcionó para mí. Este fue mi problema:

MacBook Pro (13 pulgadas, principios de 2011), macOS 10.12.1 Sierra. La batería había estado muerta desde hace un tiempo, pero la computadora había funcionado bien. Un día, de repente, no se despertaba y el botón de encendido no reaccionaba. Saqué y volví a colocar el cable de alimentación y luego pude arrancar de nuevo. Arrancar ahora tomó muchos minutos y todo se retrasó. El mouse se movió en algo así como 0.5 fps. Todo funcionó pero hubo un retraso extremo. Animaciones, el cursor, la entrada del teclado, el tiempo necesario para abrir aplicaciones, todo. El monitor de actividad informó que el sistema usaba casi el 100 % de la CPU casi siempre. A veces bajó un poco y el retraso mejoró un poco. Por breves momentos, la actividad de la CPU fue normal y luego todo funcionó bien, pero los problemas regresaron después de un minuto. Se informó que kernel_task usaba mucha más CPU de la que estaba disponible, entre 200 y 1000 %. El problema se mantuvo a pesar de reiniciar y dejar que la computadora permaneciera encendida durante la noche. La computadora estaba inutilizable.

Descarté software malo y muchas fuentes potenciales de hardware malo. Intenté todo esto, pero el problema persistía:

  • Sacó el disco duro y lo arrancó externamente
  • Arrancado desde otro HDD externo, ejecutando OS X 10.8 Mountain Lion.
  • Desconectado el cable HDD SATA interno
  • Adaptador de corriente diferente
  • Restablecimiento de cochecito
  • Restablecimiento de SMC
  • Vuelva a colocar ambos módulos de RAM
  • Usó solo uno de los módulos de RAM a la vez, en diferentes ranuras, para descartar que alguno de los módulos o ranuras esté defectuoso
  • Desconectado la batería
  • Desconectado el cable AirPort/Bluetooth
  • Desconectado el trackpad

Sospechaba un problema de la placa lógica. Pero luego intenté sacar el archivo kext apropiado de /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/. Como magia, la computadora ahora parece funcionar bien nuevamente. Veré si puedo conseguir una batería de reemplazo y volver a colocar el kext, pero por ahora esto servirá. No entiendo cómo eliminar un kext podría provocar un sobrecalentamiento. Un kext es parte de una instalación específica del sistema operativo y, por ejemplo, no estaría presente al iniciar Windows u otra cosa. Seguramente la temperatura debe ser controlada principalmente por algo de nivel inferior. Pero bueno, si la computadora muere, muere. No funcionó antes de esta solución de todos modos.