Почему kernel_task использует так много процессора?

26

У меня есть Macbook Pro Retina со следующим оборудованием:

Model Name: MacBook Pro
Model Identifier:   MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed:    2.4 GHz
Number of Processors:   1
Total Number of Cores:  2
L2 Cache (per Core):    256 KB
L3 Cache:   3 MB
Memory: 8 GB
Boot ROM Version:   MBP111.0138.B15

Я недавно обновился до OS X El Capitan; У меня дважды возникала одна и та же проблема, и это меня слегка беспокоит.

У меня случайно появляются пики использования ЦП из kernel_task, самый высокий из которых я видел, это 660% ЦП. Это откровенно неприемлема и неестественно установка для моего процессора (я обычно имею общее использование около 2-3%). Самый высокий у меня скриншот это:

введите описание изображения здесь

В первый раз я не записал то, что у меня было открыто. В следующий раз, однако, я был готов, и вот точный список того, что у меня было открыто:

  • Две видео страницы YouTube (с использованием процессов Safari Networking с максимальным процессором около 44%, обычно стабилизированным на уровне 8-10% и с https://www.youtube.comмаксимальным процессором около 51%, обычно около 10-12%)
  • Коммуникатор. Сомнительно, что это имело эффект, но, эй, вы никогда не знаете.
  • Skype. Этот чувак работал с постоянной загрузкой процессора на 50%.

Стоит отметить, что мне пришлось закрыть оба окна YouTube, чтобы фактически получить достаточный контроль над моим компьютером, чтобы открыть Activity Monitor. Ни один из вышеупомянутых процессов не работал, только kernel_task.

Также стоит отметить моих поклонников - вентиляторы были на максимуме, дуя холодным воздухом. Несмотря на то, что kernel_task вращался с 660% процессора, насколько я мог видеть, фактического нагрева не было.

Именно в этот момент я принудительно выключил компьютер - у меня было около 0,5 кадра в секунду (1 кадр каждые 2 секунды, смотрел на часы) и ничего не получалось, когда дело доходило даже до попытки его починить.

Если есть ошибка, связанная с этим, которую я пропустил, или какая-то дурацкая вещь с OS X в целом, которую я упускаю, пожалуйста, дайте мне знать, так как это чрезвычайно расстраивает и больше, чем немного беспокоит.

Аддисон Крамп
источник

Ответы:

23

У вас есть классические признаки того, что тепловые проблемы приводят к тому, что задача ядра превентивно использует процессор, чтобы предотвратить перегрев. Если вы не сбросили SMC, попробуйте один раз . Если контроллер системного управления действительно застрял, реакция на изменение тепловых измерений может отставать или оставлять нагнетатели выше, чем они должны быть.

Ответы, прежде всего, указывают на то, что вы можете сделать, чтобы измерить обмен, процессы и т. Д., Но сосредоточиться на тепловых датчиках (проблема с оборудованием) или внешней температуре (окружающая среда), которую вы можете искусственно охладить, чтобы устранить замедление, предназначенное для управления теплом. ,

Если вы не можете точно измерить температуру корпуса с помощью инфракрасного термометра, попробуйте программное обеспечение, такое как https://bjango.com/mac/istatmenus/, чтобы проверить отдельные датчики температуры и сопоставить их с «всплесками загрузки ЦП» от kernel_task , Кроме того, сброс SMC один раз может стоить вашего времени. Если он застрял, реакция на изменение тепловых измерений может отставать или оставлять нагнетатели выше, чем они должны быть.

bmike
источник
Это, похоже, не проблема - вентиляторы выпускали совершенно прохладный воздух из вентиляционных отверстий. Кроме того, при тестировании с внешней загрузкой Ubuntu 15.04 не было резких скачков в использовании вентилятора или показаниях тепловых датчиков. Вы предполагаете, что а) термометры неправильно просчитываются или б) есть ошибка с отзывчивостью вентилятора? Или что-то еще целиком?
Эддисон Крамп
@VTCAKAVSMoACE Да - холодный воздух усиливает то, что датчики неисправны по моей оценке. Возможно, SMC испорчен, поэтому попробуйте сбросить его один раз.
bmike
Я сбросил SMC и проверил его (светодиод изменился, так что это определенно произошло). Если kernel_task снова выйдет из строя в течение следующих двух дней, я дам вам знать. В противном случае я отмечу это как ответ.
Эддисон Крамп
2
С полной уверенностью могу сказать, что сброс SMC сработал. Я выдвинул свой компьютер в дальние пределы процессора, чтобы генерировать тепло, и это было вполне нормально, как и обычное использование. Я собираюсь сделать окончательное редактирование, чтобы сделать это более доступным и легче найти и пометить это как ответ.
Эддисон Крамп
Сброс SMC работал на меня.
Джулиан А.
2

Посмотрите на своих поклонников! Для моего Macbook Pro (2015) это не было программной проблемой. Mac был совершенно непригоден для использования. Я открыл Macbook, отряхнув вентиляторы зубной щеткой. Я также почистил радиатор. После снятия радиатора я обнаружил, что термопаста была сухой. Я тщательно очистил старую термопасту и добавил новую пасту. Результат: проблем с kernel_task больше нет. Вентиляторы работали с постоянной скоростью от 6000 до 2000 об / мин (полная тишина).

Fox5150
источник
1

Мой опыт подтверждает теорию, что чрезмерное использование процессора приводит к высокой загрузке kernel_task. В моем случае это часто происходит, когда у меня открыто слишком много окон браузера или воспроизводятся видео на YouTube.

Закрытие окон или приложений обычно решает проблему.

Другие способы успокоить вещи:

  • Более высокая скорость вентилятора. Я использую Macs Fan Control из CrystalIdea, чтобы вручную увеличить базовую скорость вентилятора до постоянной 2500 об / мин или 3000 об / мин, если это необходимо.

  • Использование охлаждающей подставки для вашего ноутбука.

  • Кондиционирование воздуха! Температура наружного воздуха также влияет на температуру компьютера.

РЕДАКТИРОВАТЬ: я ранее сказал «перегрев» вместо «чрезмерного использования процессора». Точнее сказать «прогнозируемый перегрев на основе текущей скорости процессора и вентилятора», поскольку система контроля температуры Mac также учитывает это.

jkdev
источник
Мой компьютер не был горячим, когда kernel_task занимал огромные проценты ЦП, как упоминалось в вопросе. : P Это на самом деле дул холодный воздух.
Эддисон Крамп
Система контроля температуры на Mac также учитывает прогнозируемый перегрев, исходя из текущей загрузки процессора. Он наносит упреждающие удары, так сказать.
jkdev
Я отредактирую свой ответ, чтобы заменить «перегрев» на «чрезмерное использование процессора».
jkdev
1

Высокая температура в части корпуса от зарядки вместе с подключенными периферийными устройствами может вызвать эту проблему, по крайней мере, на MBP 2017 года. Простого перемещения зарядного кабеля от левого к правому порту может быть достаточно, чтобы охладить горячую точку и решить проблему. На машине с зарядкой MagSafe попробуйте отключить периферийные устройства от левых портов до полной зарядки аккумулятора.

Использование ЦП не имеет к этому никакого отношения, поскольку горячий ЦП регулируется путем снижения его тактовой частоты, а не путем планирования неактивной нагрузки.

См. Https://apple.stackexchange.com/a/363933/27135 для доказательства.

Адам
источник
0

Вот что вы можете попробовать:

  1. Перезагрузка (возможно, вы уже сделали это)
  2. Переустановите OS X из Recovery HD
  3. Удалите кэши, выполнив эти команды в Терминале rm -rf ~/Library/Caches
  4. Удалите все кэши Safari (поскольку кажется, что причиной может быть Safari)

Редактировать: кажется, что ответ от bmike гораздо точнее.

At0mic
источник
Я только что установил его на днях. Будет ли просто удаление кэшей теоретически работать? (не было внесено никаких изменений в то, что вставил Эль Капитан)
Аддисон Крамп
Подожди, извини. Теперь я понимаю, что вы имеете в виду. Я удалю тайники. Эта проблема не является постоянной, только иногда (дважды в три дня), чтобы прояснить.
Эддисон Крамп
1
Ни одна из них не является коренной причиной появления ядра kernel_task. Удаление кэшей на самом деле ухудшит ситуацию, поскольку система выполняет циклы ЦП для восстановления кэшированных данных.
Bmike
Да, я заглянул в папку Caches и могу определенно предложить не удалять это. Это может действительно разрушить некоторые важные вещи, если вы не будете осторожны. Обратите внимание, что в этом ответе.
Эддисон Крамп
@VTCAKAVSMoACE удаление кешей ничего не испортит.
At0mic
0

По моему опыту, kernel_taskпревышение 100% процессора на моем ноутбуке может быть решено путем сброса блока питания. Тем не менее, я живу на лодке и время от времени имею противоречивый источник переменного тока. (Еще один признак этого режима отказа - ноутбук указывает, что он подключен, но не заряжается.)

Если блок питания обнаруживает ненадежный источник питания, он прекращает зарядку ноутбука. Чтобы решить эту проблему, отсоедините оба конца блока питания на несколько секунд, затем снова включите его. Это (в моем случае) заставляет ноутбук снова начать зарядку и kernel_task перестает загружать процессор, а вентиляторы перестают так сильно вращаться.

Лучше всего поймать его до того, как ноутбук (на вид быстро) разрядит свой аккумулятор.

Тайлер А.
источник
0

Я только что исправил невероятно надоедливое kernel_taskпотребление 500% моего процессора!

Проблема связана с оборудованием.

Он не стал более чистым, чем этот, я открыл заднюю крышку, у меня MacBook Pro середины 2015 года, я работаю удаленно, и у меня высокая зависимость от инструментов на основе браузера, поэтому Chrome - это CPU HOG, одна из частей Решение состоит в том, чтобы отключить все те расширения, которые вы не используете, это немного ослабило бы.

Однако большая часть моих находок была связана с грязными вентиляторами, я бы сказал, не будучи экспертом (я занимался техобслуживанием ноутбука в течение последних 25 лет ...), что эти машины являются точными инструментами, размером с вентиляторы против мощности, которая им нужна для охлаждения, все должно быть хорошо, не засорено.

Я уверен, что они построили для этого какую-то комнату, но мои рассуждения говорят мне, что где-то в ОС есть какая-то логика, которая объясняет скорость вентиляторов по сравнению с потоком воздуха, который они обеспечивают.

Таким образом, недостаточный поток воздуха заставляет вентиляторы работать усерднее. После этого все идет в гору, или я должен сказать больше в гору ???.

По моему опыту, это будет вторая линия обороны.

Забивайте процессор, чтобы избежать взрыва в потоках, занимайте его до тех пор, пока он не остынет, компьютер такой же умный, как и он, он не может сказать, что есть засоренная грязь, препятствующая потоку воздуха. То, что сработало для меня, это две вещи, первая - это терпение, мягко говоря, вещи, так что не торопитесь (у меня ушло 20 минут на весь процесс). И вы не хотите в конечном итоге использовать кабель короткого замыкания, потому что вы тянули на себя или теряли болты (не то, чтобы что-нибудь подобное случалось со мной). Тогда вторая часть - это такой инструмент? Я знаю, что у вас должно быть что-то подобное дома, или вы можете получить его онлайн или в аптеке: Кисть для бровей

Она достаточно прочная, но мягкая прямо на месте, чтобы вы могли стряхнуть всю эту грязь, затем вы можете смешать ее с баллоном со сжатым воздухом или просто слегка надуть его.

Мы, как инженеры, как правило, намного лучше, чем инженеры. Исправление было простым для меня. Я делал это в прошлом с 4 или 5 машинами с такими же успешными результатами. Я делюсь своим ответом, поскольку он может пролить свет на эти необъяснимые пики.

Так счастлив, чистя, С уважением

EN

ximbal
источник