rMBP kernel_task spikes lors de la connexion de plusieurs moniteurs externes [doublon]

35

Cette question a déjà une réponse ici:

Lors de la connexion d'un deuxième moniteur externe, les pics de kernel_task à 600% +. Cela rend l'ordinateur inutilisable.

Avant Yosemite, cela fonctionnait bien avec 3 moniteurs.

Voici les détails:

  • Lorsque je connecte un moniteur à DP ou HDMI, les choses fonctionnent bien.
  • Lorsque je connecte un deuxième moniteur avec des pointes DP ou HDMI kernel_task.
  • Lorsque je déconnecte le DP ou le HDMI, la kernel_task revient parfois rapidement à des niveaux normaux.
  • Lorsque je déconnecte tous les moniteurs, le kernel_task revient rapidement à des niveaux normaux. (Dans Activity Monitor goto View > Update Frequency > Very Oftenet dès que vous déconnectez les moniteurs, vous obtiendrez de nombreuses mises à jour rapides de l'interface utilisateur).
  • Parfois, lorsque vous branchez deux moniteurs, cela fonctionne (DP ou HDMI), mais le 3ème provoque un pic immédiat. Après cela, tous les moniteurs doivent être retirés pour qu'il revienne à la normale. Parfois, la suppression de tout sauf un le corrigera.
  • Parfois, lorsque je branche les 3, cela prend 3 minutes + pour que cela se produise.

Ce que j'ai essayé:

  • Réinitialisation de la NVRAM.
  • Réinitialisation de SMC.
  • Tentative du scénario ci-dessus avec l'adaptateur secteur branché et fonctionnant sur batterie.
  • Désactiver la «commutation graphique automatique» dans Energy Saver.
  • Utilisation de graphiques intégrés en utilisant sudo pmset -c gpuswitch 0

REMARQUE: Lorsque vous essayez certaines de ces choses, il faut parfois 1 minute pour se produire.

Configuration système:

J'utilise un MacBook Pro Retina 2.7Ghz i7 (Macbook10,1 / Mid 2012) exécutant Yosemite 10.10.1.

J'ai 3 moniteurs externes (Dell 2415H) dont 2 connectés par Display Port et 1 avec HDMI.


Je pense que le problème est lié à la gestion de l'alimentation. Chaque fois que mon processeur atteint 58 degrés, cela semble se produire. Je viens de laisser mes 3 moniteurs branchés pendant plus de 5 minutes et cela ne s'est pas produit. Mais quand j'ai commencé à chercher en utilisant Chrome, c'est arrivé immédiatement.

On dirait une bonne solution ici: http://www.rdoxenham.com/?p=259

Vaughan
la source
à côté du CPU, quelle autre tâche monte en activité?
Ruskes
Rien, juste kernel_task.
vaughan
@bmike Pourquoi cette question est-elle marquée en double pour une question qui a été posée plus tard et a une réponse acceptée moins complète?
vaughan

Réponses:

40

Selon Rhys Oxenhams :

le noyau continuera à boucler certaines tâches très simples, par exemple obtenir la date, donc «consommer» (avec la priorité la plus élevée) la majorité du CPU dans le but de refroidir le système.

La solution qu'il mentionne sur son blog devrait fonctionner pour les Mac précédents. Pour les Mac Ivy-Bridge et un peu plus tôt, Richard Schwarting a trouvé le fichier approprié à désactiver . Les instructions sont incluses ci-dessous pour plus de commodité. J'ai essayé beaucoup de choses, mais cela fonctionne.

  1. Désactivez kext en le renommant

    cd /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/Plugins
    sudo mv X86PlatformShim.kext X86PlatformShim.kext.disabled
    
  2. Vider le cache kext (je ne sais pas si cela est nécessaire)

    sudo touch /System/Library/Extensions/
    
  3. Redémarrer

    sudo reboot
    

  • Après avoir installé les mises à jour OSX, vous devrez peut-être répéter la procédure ci-dessus si les mises à jour ont recréé le kext.

Mise à jour pour (High) Sierra:

TL: TR

Renommez IOPlatformPluginFamily.kext / ACPI_SMC_PlatformPlugin.kext / [MacModelIdentifier] .plist

Pas à pas:

  1. Démarrer le mode de récupération de l'intro (appuyez sur CMD + R lors du démarrage)
  2. Utilitaire> Terminal csrutil disable(désactiver la protection des fichiers système)
  3. Redémarrez et renommez /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/[MacModelIdentifier].plist(Mac> À propos> Rapport système> Identifiant du modèle) en bugfix.plist(ou autre chose)
  4. Redémarrez et vérifiez si le kernal_taskprocessus est inférieur à 10%
  5. En cas de succès, redémarrez à nouveau en mode de récupération et réactivez la protection du système avec csrutil enable

Testé et travaillé pour moi à 10.13.2 sur MacbookPro début 2011.

Source avec photos (allemand) http://www.couchpiratin.de/mac-zu-langsam-kernel_task-cpu-fehler-beseitigen/

Vaughan
la source
6
Même si sudo se met mv: rename X86PlatformShim.kext to X86PlatformShim.kext.disabled: Operation not permittedà essayer de bouger ...
Shwaydogg
5
@Shwaydogg Vous devrez probablement désactiver OSX SIP. Voir osxdaily.com/2015/10/05/…
vaughan
6
C'est la bonne réponse. Pourquoi cette question est marquée comme doublon et dit qu'elle a déjà une réponse, c'est fou pour moi. Merci beaucoup d'avoir cherché de l'aide.
jwillis0720
5
Mise à jour: j'exécute Sierra et j'ai de nouveau des problèmes avec kernal_task. Cette solution ne suffit plus.
bheussler
6
Mon identifiant de modèle indique MacBookPro11,3 mais il n'y a pas de fichier 11,3 plist. Lequel dois-je renommer?
JohnRW