在右侧而不是左侧为MacBook充电

2021-03-02 09:49:45

这可能持续几分钟到几小时。机器在这种状态下实际上无法使用。重新启动没有帮助;再次弹出一个新的kernel_task,直到完成所有操作为止。

10 @bmike我设法重现了该问题并根据需要进行了修复。 iStatMenus图形确认,在我的情况下,原因是充电导致机箱温度升高以及外围设备插入左侧TB端口。 - 亚当

是的-该温度传感器确实能够精确地引起这种情况。感谢您的编辑-有助于大大澄清记录情况。 – bmike♦

仅供参考(没有任何修复或解决方法),kernel_task(PID 0)是内核(即OS的心脏)本身,也是macOS / iOS / tvOS / watchOS引导过程之后的第一个过程。内核完成了几个核心功能,其中温度控制就是其中之一,而且看来它的表现也很糟糕。显然,如果不关闭整个系统,就无法终止该进程,因此,当其中的某些行为异常时,这一过程尤其糟糕。苹果在这里提到其温度控制功能:support.apple.com/zh-cn/HT207359 –君士坦丁·萨鲁哈斯(Constantin Tsarouhas)

@BlakePetersen我也刚从那条红鲱鱼身上掉下来。这个问题与Docker是否正在运行无关,坦率地说,我可以杀死其他任何软件。 - 亚当

@ConstantinoTsarou表示Apple链接明显错误。下图清楚地显示了CPU温度非常低的kernel_task。较高的CPU温度是通过节流CPU而不是kernel_task来固定的。 - 亚当

TLDR;如果您的MacBook Pro热运行或显示较高的CPU百分比以执行内核任务,请尝试在右侧而不是左侧进行充电。

较高的kernel_task CPU使用率是由于充电导致机箱温度升高所致。特别是Left Thunderbolt端口的使用情况。

从左向右移动充电。如果您有第二个充电器,则将其插入右侧。避免堵塞右侧的所有部件(请参阅下面的最后一段)。

从左侧拔出电源插头。接通电源或其他配件,直到电池充满。

在插入之前,强制风扇达到最大。iStatMenus具有简单的Sensors->风扇菜单项执行此操作。这仅在边际条件下有所帮助。

实际CPU温度或应用程序CPU使用率与kernel_task不相关。通过降低时钟频率,而不是通过调度虚假的无操作负载来限制热CPU。

下图来自iStatMenus。机器已经用过电池,然后插入电源。

状态A左侧有一个USB-C集线器(一个鼠标和键盘,加上电源)和一个USB-C HDMI 2.0适配器。您可以看到Thunderbolt左侧接近温度传感器快速上升。大约3-4分钟后,可怕的kernel_task高CPU使用率开始启动。

状态B通过将功率从左端口移到右端口来解决kernel_task问题。左侧温度下降,kernel_task在约15秒内消失。

这是因果关系。将电源移回左侧,以恢复状态A,可快速恢复温度,并且3-4分钟后kernel_task再次返回。再次将电源移回右侧,恢复状态B,即可立即解决问题。

状态C显示,仅将东西插入TB端口会大大提高其温度。集线器(仅鼠标和键盘)和HDMI适配器都将温度分别提高了约10度和15度。

请注意,右侧的高温似乎已被操作系统忽略。将所有设备插入右侧的两个端口,而不是左侧的端口,将右侧的温度提高到100度以上,而风扇没有打开。也没有kernel_task,但是机器由于某种限制而变得无法使用。

因此,kernel_task的CPU使用率较高是由于Thunderbolt Left Left Proximity温度过高引起的,这是由于充电并同时插入正常的外围设备引起的。

实际询问内核在做什么的唯一方法是附加一个内核调试器。这意味着要从Apple获得调试内核,然后重新启动,然后使用第二台Mac连接到已调试的计算机。然后,您可以检查堆栈跟踪并猜测它们的含义。

否则,猜测和测试是唯一的方法。当然,这常常导致错误的结论。

36这个确切的问题已经使我陷入精神错乱的边缘几个月了,我已经竭尽全力阻止了它。最近,从Mojave解决了回溯到HS。它,但一周后又于今晚突然消失,似乎没有任何事件再次触发它。自开始进行故障排除以来,大概在40个小时内,我在论坛中发现了大约30个不同的步骤。同一系统上的新用户似乎开始崭新,但不可避免地问题再次出现。我也觉得这与功率/雷电/热量有关。 –艾利斯·爱德华兹(Ellis Edwards)

在我全新的MacBook Pro 16"之后才找到此答案。疯了每次重启后,CPU的kernel_task CPU使用率都高得离谱。在我的情况下,我有一个非官方的PSU(Anker),将Lention C13插入MacBook的左侧端口。我现在使用插入MacBook右侧的官方PSU,一切正常。感谢您的帮助,但老实说,我很奇怪Apple的硬件和/或OS不能更好地处理这一问题。 –昆汀·威利森(Quintin Willison)

只是想指出,这个答案有点不正确,但是当然仍然很有用。这是kernel_task CPU使用率高的原因之一-并非唯一的原因。例如,您可以在没有Thunderbolt端口的Mac上或没有电池的Mac(即不充电)上观察到这一点。仅通过限制频率来校正较高的CPU温度是不正确的-Kernel_task实际上将安排“无操作”以在这种情况下使CPU消耗较少的功率。 – jksoegaard

@Adam不仅仅是我的一些假设...我已经阅读了这样做的实际内核代码。绝对不是胡说八道。我没有说这是CPU使用率造成的" -那是完全不对的。但是,这是由温度引起的。是的,我知道可以通过频率控制来调节CPU的速度-但这对于"与众不同的情况是完全不同的。 (即冷却故障)。是的,我知道CPU在达到最大Tjunction时会自动完全控制其频率和/或关闭...这是一个独立的机制。他们有 [...] – jksoegaard

如果您是开发人员,则可以在kern / thread_info.h中查看内核源代码,在这里您会发现标记为“ #_THAGFLAGS_GLOBAL_FORCED_IDLE”,这意味着线程的目的是强制闲置。在kern / thread.h中,您会发现它的线程选项是TH_OPT_GLOBAL_FORCED_IDLE,其描述为"线程对热控制执行强制空闲。实际开始此过程是在PlatformPlugin中触发的-即在新Mac上,您将查看ACPI SMC平台插件ForcedIdlePLimit"。您可以在日志中搜索" plimit"和" p状态" [...] – jksoegaard

有趣的是,在更改了用于为便携式计算机充电的端口并使用了便携式计算机的其他端口之后,CPU使用率下降了:

5该图表的时间尺度是多少?我认为如果更改端口,则需要花费一些时间来观察下降情况 – Jacopofar

MacBook Pro(2015年初):几分钟前我遇到了这个问题。我正在给iPhone Xs充电,内核发疯了(就像通常不时发生的那样)。然后我想起几天前在Hacker News上看到的与此页面相关的讨论。因此,我刚刚拔下电话。瞧,CPU负载下降的程度与此处的图像完全相同。太疯了。谁曾想到!? – lukik

同样的情况在这里。我通过左侧的Thunderport端口和Promise Technology TD-300 Thunderbolt 3坞站给Mac充电。今天早些时候,由于kernel_task的CPU使用量高达6000%的容量,Mac停止运行。找到这篇文章后,我从左侧拔出了它,然后从右侧插入了它,CPU使用率立即下降到正常水平。 –群集

由于它会持续很长时间,并且会在重新启动后持续存在,因此您的问题似乎是由硬件问题(即缺乏冷却)引起的。您没有描述您拥有的计算机类型,而是尝试查看其冷却情况以查看其是否按预期工作。您可能有风扇坏了,灰尘很多或类似的东西。

除其他事项外,kernel_task虚拟进程确实会限制CPU使用率,以使CPU保持在其最高工作温度以下。目的是防止CPU意外关闭。 kernel_task通过确保CPU长时间不执行任何操作来做到这一点-本质上确保CPU使用尽可能少的功率,这意味着它散发的热量更少。这看起来好像kernel_task正在使用大量CPU,但实际上并非如此。

17您可能是对的,这与温度有关,但绝对与CPU温度无关。您的帖子使我启用了iStat菜单。温带传感器监控,并且再次发生此问题时,CPU非常酷。查看编辑的OP中的屏幕截图。 - 亚当

如果您以“恢复”模式启动,您是否仍具有较高的kernel_task CPU" usage&#34 ;? – jksoegaard

我轶事地注意到,当左侧的雷电温度降至70度以下时,kernel_task消失了。我还注意到,插入充电器会使充电侧的温度升高约20-30度。这意味着效果是可以测试的,下次我将确认此问题的发生。 - 亚当

我只尝试了一次恢复模式,但没有任何区别。我还无法可靠地重现此内容。 - 亚当

"没有区别" -这是否意味着您在那里也有较高的kernel_task使用率? – jksoegaard

如果您在Macbook Pro 16上遇到此问题, (2019),这似乎是一个众所周知的问题,即笔记本电脑机身在连接外部显示器时无法处理来自CPU和GPU的热量。最终的解决方案似乎是使用eGPU ...对于大多数人来说这可能不切实际。

AMD社区线程进一步指出,罪魁祸首是dGPU在笔记本电脑输出至多台显示器时全开驱动并消耗约20W的功率,这似乎是因为驱动程序让dGPU内存以全时钟速度运行至避免撕裂。这很快导致机箱过热。仅输出到一个监视器(该计数包括内置监视器),而没有缩放比例或分辨率的整数倍缩放,似乎可以将功耗降低到〜9W,从而大部分可以解决此问题。

从传感器数据来看,节流的触发极有可能是Thunderbolt左/右接近温度。

更新:现在我仍然将我的MBP连接到多台显示器(dGPU消耗约20W),但是我遵循了一条评论的建议,买了一个小型台式风扇来指向MBP ...温度现在似乎大部分都在控制范围内而且我大部分时间都不会执行kernel_task。您可能会认为,您可以在这里可以买到的最好的笔记本电脑上使用这种黑客工具,尽管我认为目前还没有完美的笔记本电脑,并且我现在仍会坚持使用Macbook。

更新2:我终于建立了我的eGPU,并且按预期的那样安装了MBP 16'从那时起,您就再也没有遭受过节流的困扰。我想如果所有其他选择都失败了,您仍然可以将此作为一种选择。您不需要花哨的/昂贵的图形卡。我正在用RX 580驾驶1个4K显示器和2个附加显示器,没有任何问题。

对我来说,几乎每当我连接到外接显示器时都会发生这种情况。图形切换到专用图形,并且系统在不到5分钟的时间内开始过热。花了我一段时间解决这个问题。室温为27摄氏度,因此我认为也与高温无关。

有趣的是,我7岁的笔记本电脑在相同条件下仍然可以正常工作(甚至胜过MBP 2019)。

3 27C非常热。我想说这绝对与温度有关。买台风扇。 – vaughan

@vaughn不太热,很温暖。俗话说“ 10冷”,“ 20冷”不是。 30是热的,40是热的。也就是说,工作温度的上限是35℃,而工作温度的上限是27℃。所以风扇是个好主意! –主教

连接到外部屏幕时,环境温度和Macbook Pro过热之间肯定存在联系。连接外部屏幕几分钟后,欢迎使用kernel_task!这是在Mac Book Pro End 2018 15"上发生的i9 6核心+ Samsung外部屏幕(没有插入任何东西)。我尝试同时连接到Mac书籍的左右两侧/重新启动/ SMC / NVRAM / PRAM,这是同样的问题。我在5月遇到了问题(大约在27°C-30°C),然后几天没问题(环境温度下降了10°C),然后又又出现了问题(现在在30°C两天)。 – yann-h

通常是温度。购买一个小型台式风扇,然后将其指向MacBook的后部。我曾经遇到过这个问题,而且由于使用风扇,它永远不会发生。

3我不认为我们期望在3000美元的笔记本电脑上做到这一点:) – Stas

我也不!我已尽力满足我的2018年Macbook Pro的规格要求,我认为该规格会给我我所需的处理能力,并使我免于多年购买新笔记本电脑的麻烦,但看来机箱太薄且包装紧凑,无法应付大量使用没有真正变热,然后kernel_task不得不减慢一切来阻止它过热! – drkvogel

我听说它有时可以帮助清洁MBP内部的灰尘。 Models 2012+型号有资格在Apple商店免费更换电池,请尝试一下并要求他们也清除灰尘。将会看到,这有助于在不那么热的情况下过热。温度。 –谢尔盖·谢尔巴科夫(Sergey Shcherbakov)

从活动监视器运行Spindump和/或示例过程可能有助于向您提供有关发生的情况的更多信息。尝试随时注意CPU使用率上升的时间,然后在活动监视器中列出的其他项目上查看CPU时间。您可能会注意到某个进程大约在同一时间启动。查看线程进/出也可以帮助诊断。问题可能是内核本身的错误,也可能是请求CPU时间的问题。如果您没有发现任何系统性能或温度问题,可以不时地使CPU跳起来。 Mac的CPU可以承受很高的温度。

如果您下载了大量应用程序,则启动守护程序,启动代理和启动应用程序可能会迅速加总,可能会消耗CPU。看来您的系统有很多唤醒功能。可能挂了什么?您还可以运行“ top”和“ lsof”以了解内核正在与之交谈的内容。另外,打开控制台并检查日志中是否有重复的错误也会有所帮助。测试新用户帐户将隔离所有与用户相关的问题。

查看您的内核恐慌和日志,看看是否有任何重复出现的问题。确保计算机变热时风扇开始旋转。如果不是这样,则可能是SMC问题。您可以下载软件来控制风扇的速度,以查看是否降低了CPU%。

Xcode随附的Instruments应用程序具有一些调试和跟踪功能,这些功能也可以提供帮助。

0

首先测量Mac周围的温度,然后查看是否更凉爽的空气会降低温度。

就您而言,由于运行高温,Skype和Firefox正在保留所有剩余周期。 Windowserver和内核只负责其他程序的投标。另外,要长期查看CPU的功能,请查看活动监视器中的能源标签。

通过关闭占用CPU的应用程序,您可以“让系统运行正常”。像这样运行不会有任何问题,只是存在热量限制,因此更高效的应用程序或较少要求的标签/视频/内容可以让您在系统自我保护之前完成更多工作。

同样在Catalina上,如果您认为GPU使计算机进入热节流状态,则可以在Activity Monitor中查看GPU的实际使用情况,并测试对浏览器设置的更改。

2发生此问题时,CPU温度非常低。如果有的话,这可能是由于机箱温度引起的,在我的情况下是由于充电导致雷电端口过热。如果是这样,那么Apple应该限制了充电,而不是CPU充电。 - 亚当

你是对的。这不是最明显的情况,我需要考虑新数据。出色的编辑@Adam我想知道您的电路是否超出规格,如果Apple运行诊断程序,或者这只是通过电源和数据ASIC运行的电源产生的规格(但不受欢迎)的磁头。 – bmike♦

我拥有MacBook Pro(15英寸,2016年)。正确答案中给出的理论是正确的,kernel_task导致cpu使用率较高的原因是由于您将充电器插入左侧的插座而导致的。在右边使用套接字可以立即解决该问题,并且kernel_task的CPU使用率也下降了。但是以下是我的发现,

直到MacOS Catalina更新才出现此问题。根据我的经验,在High Sierra和Catalina上从左到右的充电情况都很好。我希望大苏尔(Big Sur)能够确认并解决该问题。您可以尝试将操作系统降级,并查看它是否可以解决问题。

我最近用Thermal Grizzly的Kyronaut替换了3年的传统导热膏,并用防静电刷清除了多年积累的灰尘。结果是惊人的。从任一侧充电时,我不再面临kernel_task过度使用cpu的情况。风扇在闲置时的转速为2000(ish)RPM,而在空闲时为2600(ish)RPM。

我真的建议第二种选择,因为它更容易,便宜而且不会带来任何形式的风险。

3接受的答案中的情节是在10.14莫哈韦沙漠上绘制的,因此这不是10.15卡塔琳娜州独有的问题。 - 亚当

@Adam没有人真正知道问题的原因。我相信,既然我们都有闪亮的新MBP,则左端口与右端口一样好。我只是分享了有关同一问题的经验。我很可能是错的,并且在清除旧MBP上的灰尘时可能很幸运。我可能需要更多的人来检验点2的理论,看看是否能解决问题。 –阿伦·乔杜里(Arun Chaudhary)

顺便说一句,将充电器端口移至右侧可解决此问题。我遇到了非常高的kernel_task(新MBP2019)。风扇在翻盖模式下将整夜保持运转,并且没有任何应用程序运行,powermetrics显示80C风扇的转速为2900rpm。我想知道插入的USB-C端口中的高电流是否会影响热性能。 –彼得

对我来说,当我换用更高功率的充电器时,问题就消失了。我不小心使用了15W充电器而不是87W。这导致充电时间延长,从而使整个计算机变热。

Macbook pro 15" 2018年,我有一个USB C适配器(7合1),2个显示器和2个外部USB硬盘,右侧和左侧的适配器仅在充电,我有几个月无法在多任务中工作 一些应用程序和Macbook刚开始消耗extremely尽,我发现此kernel_task服务将达到数千个! 在活动监视器上的“百分比”列上,在连接了不同端口(hdmi,usbc和扩展坞)的连接播放之后,kernel_task才恢复正常!!! 我的工作配置是将充电器移至右侧,将其中一根显示器电缆移至左侧,所以在左侧,我只有一根USBC-HDMI电缆 ......