Как удалить или отключить kernel_task в mac os ?
Всем привет, как уже понятно из названия сегодня я расскажу как удалить kernel_task.
kernel_task - это системный процесс основная задача которого контролировать мак от перегрева.Борется с температурой он благодаря увеличению оборотов кулеров на максимум и увеличением нагрузки на процессор тем самым уменьшает нагрузку других процессов думая что температура из за этого.
Покажу как сделать из этого:
В это
Пред история и мой путь решения проблемы: (Если не интересно листайте вниз до жирного заголовка)
Купил себе macbook pro 2015 ниже рынка в максимальной комплектации, ой думаю повезло. Но мак был медленный думал ссд уже устала по этому не обратил внимания и после покупки поменял с 256 на 512.
Но ситуация не изменилась, понял что влип начал искать решение.
Чтобы понять что проблема именно в kernel_task я зашел в мониторинг ресурсов, во вкладке вид выбрал все процессы и посмотрел какой процесс занимает весь мой CPU и это оказался kernel task он занимал 500%
Что я пробовал чтобы решить проблему:
- Чистку кулеров и замену термопасты
- Переустановку системы от high sierra до mac os big sur
- Замену ssd
- Пробовал clean my mac
- Сбросы SMC и NVRAM
- Загрузку в безопастном режиме и.т.д
Ничего не помогло, понял что у меня проблема именно аппаратная вероятно один из прошлых владельцев что-то случайно повредил на плате при замена аккумулятора или подмене задней крышке(уже другая история). Моя микросхема думала что у CPU и GPU максимальные температуры и чтобы ее в этом разубедить едиственный способ решения это ее отключить и использовать mac fan control для контроля температуры(к счастью в этой утилите есть возможность выбора автоматической скорости вентилятора по заданным параметра температур).
РЕШЕНИЕ : Как отключить Kernel task
Вообщем просмотрев все форумы с этой проблемой для решения на big sur нашел только 1 англоязычный и там было многое не понятно и пришлось 3 дня действовать методом научного тыка.
(https://grafxflow.co.uk/blog/mac-os-x/delete-ioplatformpluginfamilykext-macos-big-sur) (Инструкцию которую я сейчас дам, взял от сюда, но добавлю вам свои комментарии чтобы вы не искали что да как столько времени.
ПОСЛЕДСТВИЯ ДАННОГО СПОСОБА РЕШЕНИЯ:
1. Долгая загрузка mac os до 5 минут (решение откатиться до catalina или ниже)
2. Все риски если вдруг вы не про контролируете температуру самостоятельно за возможно перегретый процессор лежат на вас (Но между тем чтобы иметь просто печатную машинку за 50 000 и работать нормально в final cut pro я выбрал второе и регулирую температуры через mac fan control тут уже решать вам есть 3 вариант отнести в сервис чтобы вам поменяли датчик из за которого шалит karnel_tesk сейчас бюдет так сказать вариант для бедных студентов у которых нет денег даже на это и покупают себе мак на последние деньги хд, конечно если есть возможность отнести в сервис рекомендую это сделать)
Приступаем к решению:
Шаг 1. Отключите FileVault.
Перейдите в «Системные настройки» -> «Безопасность и конфиденциальность» и выберите вкладку FileVault . Затем выберите «Отключить FileVault» .
Шаг 2. Обход подписанного системного тома (SSV*)
SSV помогает предотвратить несанкционированный доступ к любому программному обеспечению Apple, являющемуся частью операционной системы. Кроме того, это делает обновление программного обеспечения macOS более надежным и безопасным. SSV использует снимки APFS , поэтому, если обновление невозможно выполнить, старую версию системы можно восстановить без переустановки.
Это означает, что macOS Big Sur фактически больше не загружается с живого системного тома, а теперь загружается из снимка/копии той же системной папки. Обычно невозможно смонтировать снимок как доступный для записи, только для чтения, поэтому вот решение, которое я нашел.
Итак , при первой загрузке в режиме восстановления с помощью CMD + R. На экране загрузки перейдите к навигации и выберите «Утилиты» -> «Терминал» . Введите следующее.
ПРИМЕЧАНИЕ. Без этого у вас не будет разрешений на выполнение следующей команды отключения аутентификации csrutil .
csrutil disable
Затем.
reboot
Немедленно снова загрузитесь в режиме восстановления , используя CMD + R , и выберите «Утилиты» -> «Терминал» . Введите следующее.
csrutil authenticated-root disable
Затем.
reboot
Шаг 3. Подключите Live Volume и создайте резервную копию файла IOPlatformPluginFamily.kext.
Теперь перезагрузитесь обратно в обычный режим загрузки macOS и позвольте нам смонтировать рабочий том
1. Откройте дисковую утилиту (ее можно открыть через spotlight или зайти в finder -> программы -> Утилиты -> Дисковая утилита
Ищем именно "Системный том" вам нужно найти именно его не другой том только том в котором написано что он системный
2. Открываем терминал (Можно открыть через Spotlight или зайти в finder -> программы -> Утилиты -> Терминал)
3. Пишем diskutil list
Ищем ваш диск с системным томом в списке в моем случае это диск SSD, нас интересует его идентификатор у меня это disk1s5 у вас может быть другой.
4. Пишем в консоль следующую команду и за место disk1s5 пишем идентификатор вашего Системного тома
diskutil mount disk1s5
5. Пишем в консоль следующую команду (Внимательно пишите за частую на этой команде у большинства пользователей выпадает ошибка)
(Нам нужно сделать том доступным для записи)
sudo mount -uw /Volumes/Macintosh\ HD\ 1
Пароль: (вводите пароль от учетной записи)
Разберу полностью эту команду чтобы вы понимали что да как работает:
1. sudo mount -uw /// Просим разрешения на запись
2. /Volumes/Macintosh\ HD\ 1 /// Путь до системного тома
Чтобы понять какой у вас путь нужно снова зайти в дисковую утилиту и посмотреть на точку подключения:
В моем случае это /Volumes/SSD 1 т.к "1" у нас уже есть в команде выше я ее не трогаю и меняю только название у Macintosh HD - sudo mount -uw /Volumes/SSD\ 1
Если вдруг у вас появился вопрос почему Macintosh HD был написан через \ то отвечу в програмировании нет пробелов по этому чтобы написать названия тома если оно у вас с пробелом допустим MACBOOK PRO то вам нужно будет написать /Volumes/MACBOOK\ PRO\ 1 (Пробел перед PRO объязательно)
ЦИФРУ 1 в конце не трогаем от слова совсем!!!!!
Еще раз у меня Системный том называется SSD по этому я пишу так:
sudo mount -uw /Volumes/SSD\ 1
У 90% пользователей в этом пункте ошибка по этому его так подробно разобрал а дальше ваша задача остается просто за место Macintosh\ HD писать название своего системного тома остольное в коде не трогать
Просто дальше следуйте инструциям и не забывайте менять название тома на свое (единицу в конце не трограем она есть у всех вам нужно менять только само название. Цифра 1 в конце уже автоматически стоит и ее не нужно писать в названии или удалять только меняем Macintosh\ HD на "/SSD\" или "/MACBOOK \ PRO\ как в примерах которые разобрал я только вы меняете на название тома как у вас
Теперь давайте сначала убедимся, что файл-нарушитель IOPlatformPluginFamily.kext существует, введя его.
ls -a /Volumes/Macintosh\ HD\ 1/System/Library/Extensions/
Вместо удаления файла мы сделаем резервную копию — поэтому воспользуйтесь приведенным ниже способом и переместите его во вновь созданную папку.
sudo mkdir /Volumes/Macintosh\ HD\ 1/IOPlatformPluginFamily-backup-kexts/
sudo mv /Volumes/Macintosh\ HD\ 1/System/Library/Extensions/IOPlatformPluginFamily.kext /Volumes/Macintosh\ HD\ 1/IOPlatformPluginFamily-backup-kexts/
Еще раз посмотрите, не исчезло ли оно из каталога.
ls -a /Volumes/Macintosh\ HD\ 1/System/Library/Extensions/
Шаг 4. Создайте снимок и пометьте его для следующей перезагрузки по умолчанию.
Теперь мы удалили файл, который нам нужен, чтобы добавить эту новую версию системной папки в качестве снимка, поэтому введите следующее.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -s "SnapshotName" -v /Volumes/Macintosh\ HD\ 1
Затем отметьте это как значение по умолчанию для следующей перезагрузки.
sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "SnapshotName" -v /Volumes/Macintosh\ HD\ 1
Теперь, скрестив пальцы, вы сможете перезагрузиться, и kernel_task больше не будет перегружать процессор, как раньше, и, в свою очередь, замедлять работу вашей машины.
ЕЩЕ РАЗ ПРО РИСКИ
kernel task отвечает за контроль температур вашего компьютера. Если вы его отключаете то вы берете полную ответственность за их контроль через сторонние утилиты например как mac fan control в котором можно выставить просто все в настройках ну и в подарок идет долгая загрузка mac os до 5 минут как раз для того чтобы заварить себе чай
Но лучше бы сначала убедится что температуры ваши датчики показывают нормальные через программы по типу iStat Menus и понаблюдать какие температуры если они у вас под 80-90 тогда не удивительно что у вас включается кулера и поднимается kernel task вам срочно нужно нести мак на чистку в сервис ну или если вы такой же рисковый как и я и за глазами опыт компьютерного мастера в более 3 лет то можете все сделать дома сами, не забудьте отключить аккумулятор в первую очередь :)
UPD: За 2 недели заметил такую вещь как kernel task все равно возвращается но уже с 24-48 часов, решает эту проблему просто перезагрзука, на этом врпинцепе все минусы, впринципе норм работать можно
Для поиска:
kernel_task
kernel task
kernel task отключить
kernel task удалить
IOPlatformPluginFamily.kext
mount: unknown special file or file system /Volumes/Macintosh HD 1.
mount: unknown special file or file system
unknown special file or file system
kernel_task 500%
Как решить проблему с kernel_task
Как удалить kernel_task