Google открива сериозна грешка в ядрото на macOS. Новите Apple MacBook Pro и iMac Pro започнаха да показват грешка "kernel panic" Диагностика "configd and daemon help"

05.10.2021

Много читатели са се сблъскали или поне са чували за такова явление като „ син екрансмърт" (BSOD), който се появява в операционните системи от семейството Windows, когато възникнат критични системни грешки, с които системата не може да се справи без пълно рестартиране. OS X има нещо подобно. Критичните грешки на ниво ядро ​​на Mac OS X се наричат ​​„паника на ядрото“. Ядрото е сърцето на системата, отговорно за взаимодействието както на компонентите, така и на периферните устройства софтуервашия компютър. Следователно, ако възникне критична грешка в ядрото, възстановяването от нея често изисква рестартиране на ядрото и следователно на системата.

Най-често тези критични грешкисе появяват под формата на сив екран, срещу който на различни езици се иска да изключите принудително компютъра поради грешка.

Това обаче не винаги се случва. Понякога грешките в ядрото водят до пълно замразяване на системата или спонтанно рестартиране и изключване на компютъра. В този случай основният знак за „паника на ядрото“ ще бъде появата на съответен запис в системните регистрационни файлове с име като „Kernel_ ГГГГ-ММ-ДД-ЧЧММСС _име на компютър.panic" където ГГГГ-ММ-ДД-ЧЧММССе последователно указаната година, месец, дата и час на възникване на грешката с точност до секунди, и име на компютър- име на компютър.

Много неизправности на оборудването, както вътрешни (напр. RAM), и периферията (като напр външни дискове), както и неизправности в софтуера. За съжаление, когато се диагностицират критични системни грешки, „кръгът от заподозрени“ е много голям, тъй като ядрото взаимодейства с всеки процес и услуга в системата, да не говорим за всеки външен и вътрешна структура. Както при много неща с Mac OS X, когато се появят критични грешки, е много по-лесно да опитате няколко общи подхода за разрешаване на проблема, отколкото да се опитате да разберете кой е виновен, като използвате доклади и регистрационни файлове.

Възможни причини и решения.

Неизправност или повреда на паметта с произволен достъп (RAM)

Проблемите с RAM са една от най-честите причини за критични сривове. Ако не можете да проследите зависимостта на появата на „паника на ядрото“ от свързването на конкретни устройства или стартирането на определени процеси, струва си да проверите RAM.

За да направите това, можете да използвате Apple Hardware Test (AHT) или, ако вашият Mac е пуснат след 2013 г., Apple Diagnostics. Ако вашият компютър е доставен с диск със системен софтуер, поставете го в оптичното устройство, изключете компютъра и натиснете D следващия път, когато го включите.

Устройствата, доставени с OS X 10.7 и по-нови, също поддържат изпълнение на онлайн версията на тестовете. За да направите това, уверете се, че вашият Mac е свързан с интернет и задръжте клавишната комбинация ⌥Alt + D, когато стартирате.

За да тествате RAM можете също да използвате помощни програми на трети страни, например Rember или Memtest.

Също така си струва да се отбележи, че някои версии на системата или фърмуера може да са повече (или по-малко) съвместими с един или друг тип оборудване и следователно техните актуализации могат да доведат до конфликти с оборудването и критични повреди. Това се случва рядко и по-често се случва обратното, но все пак има възможност.

Неизправности на NVRAM и SMC

Малка част от паметта на вашия компютър, наречена енергонезависима RAM или NVRAM, съхранява определени настройки, до които OS X има бърз достъп. Грешките могат да се промъкнат в настройките, записани в NVRAM, което в определени случаи може да доведе до паника на ядрото. С цел премахване възможни грешки NVRAM паметта трябва да се нулира. За да направите това, изключете компютъра и следващия път, когато го включите, задръжте натиснати клавишите ⌘Command + ⌥Alt/Option + P + R, докато компютърът се рестартира и чуете тона за зареждане за втори път.

На по-старите Mac компютритакава информация се съхранява в параметрична RAM (PRAM). Нулирането на NVRAM на базирани на Intel компютри Mac използва същата клавишна комбинация и е подобно на нулирането на PRAM.

Ако използвате безжична клавиатура, има малък шанс компютърът да не реагира на натискане на клавиши върху него. В този случай трябва да се свържете USB клавиатура(няма значение дали е ябълкова клавиатураили Windows) и опитайте отново с него.

Освен това на Mac компютри с Процесор IntelИма инсталиран контролер за управление на системата (SMC), който отговаря за много функции на ниско ниво, като управление на батерията, управление на топлината, реакция на капака на лаптопа и много други аспекти, свързани със захранването на вашия Mac. Ако възникнат проблеми с работата на компютъра, SMC параметрите също трябва да бъдат нулирани.

На лаптопи с несменяема батерия:

  1. Изключете компютъра си.
  2. Свържете захранващия адаптер MagSafe или USB-C към източник на захранване и към вашия компютър.
  3. На вградената клавиатура натиснете ⇧Shift + Control + ⌥Alt/Option (вляво) и бутона за захранване едновременно.
  4. Освободете едновременно клавишите и бутона за захранване.

На лаптопи Mac със сменяема батерия:

  1. Изключете компютъра си.
  2. Изключете захранващия адаптер MagSafe от вашия компютър, ако е свързан.
  3. Извадете батерията.
  4. Натиснете и задръжте бутона за захранване за пет секунди.
  5. Освободете бутона за захранване.
  6. Свържете отново батерията и захранващия адаптер MagSafe.
  7. Натиснете бутона за захранване, за да включите компютъра.

На Mac Pro, iMac, Mac miniи Xserve:

  1. Изключете компютъра си.
  2. Изключете захранващия кабел на компютъра.
  3. Изчакайте 15 секунди.
  4. Свържете захранващия кабел.
  5. Изчакайте 5 секунди и след това натиснете бутона за захранване, за да включите компютъра.

Неизправности на външни устройства (периферни устройства)

Firewire, Thunderbolt и USB устройства също са много вероятни виновници за критични повреди. Причините може да са различни, но основната е, че тези устройства много често имат достъп до контролера на вашия компютър, обменяйки пакети данни с него и ако контролерът получи неправилен пакет, това може да причини срив.

В този случай „паника на ядрото“ може да възникне веднага, когато устройството е свързано, когато системата стартира, ако устройството вече е било свързано към Mac и когато компютърът се събуди от режим на заспиване.

В последния случай едно от заобиколните решения може да бъде да деактивирате режима на заспиване на компютъра в менюто Системни настройки→ Енергоспестяване.

По-често срещаният подход към този проблем обикновено е да се деактивират всички външни устройстваи свързването им последователно. По този начин, като търсите в опциите, можете да определите кое устройство причинява повредата, въпреки че в някои случаи това може да бъде доста трудно, тъй като понякога проблемът може да не се появи веднага, а след няколко минути или дори часове.

След като разберете кое устройство причинява проблема, си струва да проверите за актуализации на фърмуера и драйверите за това устройство, както и актуализации за самата система. Има вероятност проблемът да е по-скоро от софтуерно естество и актуализациите да го оправят.

Ако използвате хъбове или сплитери, които ви позволяват да свържете няколко устройства едновременно към един физически порт на вашия компютър, трябва поне временно да ги изоставите, тъй като те също могат да причинят критични грешки.

И накрая, ако нищо от горното не помогна, трябва да опитате да свържете подобно устройство от различен модел или от друг производител. За съжаление се случва някои периферни устройства да не са съвместими с вашия компютър по една или друга причина.

Неизправности на компонентите

Редовно повтарящите се повреди могат да бъдат причинени от дефектни, повредени или неправилно конфигурирани компоненти, като например вградени контролери за летище и Bluetooth и други мрежови устройства, твърди дисковеи твърди дискове, а понякога и дефектни или неправилно функциониращи процесори.

Често такива проблеми могат да бъдат решени чрез просто повторно свързване на подходящите компоненти. Ако наскоро сте надстроили своя Mac (особено ако сте го направили сами), струва си да се уверите, че всички PCI, PCI Express, AirPort и други карти за разширение са правилно свързани към подходящите съединители.

Кеш грешки

Временните файлове, създадени от системата и потребителските приложения, играят важна роля в работата на OS X, поради което, ако в тях се появи грешка, последващият достъп до тях може да доведе до неуспех. Преди да започнете да диагностицирате проблема в детайли, струва си да започнете с изчистване на кеша, тъй като това може да ви спести време и усилия. Можете да използвате специализирани помощни програми като Onyx или Cocktail или да изтриете временните файлове ръчно. Която и опция да изберете, силно препоръчваме първо да направите пълно архивиране на вашата система!

  1. Отворете Търсачи натиснете клавишната комбинация ⌘Command + ⇧Shift + G
  2. В прозореца, който се отваря, въведете /System/Library
  3. Кликнете върху бутона "Отиди".
  4. В папката, която се отваря, намерете файловете с имена „Extensions.kextcache“ и „Extensions.mkext“ и ги изтрийте.
  5. В същата директория намерете папката „Caches“, изберете цялото й съдържание и го изтрийте.
  6. Натиснете отново комбинацията ⌘Command + ⇧Shift + G и въведете /Library/Caches/ в прозореца, който се отваря
  7. Изберете отново и изтрийте цялото съдържание на папката.
  8. Накрая натиснете отново комбинацията ⌘Command + ⇧Shift + G и въведете ~/Library/Caches в прозореца, който се отваря
  9. Изтрийте съдържанието на тази папка.
  10. Рестартирайте системата си и проверете дали възникват критични грешки.

Неправилни компоненти на Mac OS X и разширения на ядрото

Компонентите на Mac OS X и разширенията на ядрото са много широка тема, не само защото са уязвими към огромен брой различни неизправности, включително повреда на данните, хардуерна несъвместимост, неправилни настройки за разрешения и много други, но също така и поради техния брой. Например, можете да погледнете папката /System/Library/Extensions, всеки файл в който разширява функционалността на ядрото на Mac OS X и може да причини „паника на ядрото“. Средно системата има около 250-300 разширения на ядрото (и това далеч не е ограничението), което може да превърне диагностицирането на грешка в търсене на игла в купа сено.

В този случай, ако сте сигурни, че проблемът наистина е в системните файлове, може да е по-лесно и по-ефективно да преинсталирате системата върху съществуващата от дяла за възстановяване (който може да бъде достъпен чрез задържане на ⌘Command + R клавишна комбинация при включване на компютъра), което ще остави потребителските данни непокътнати, но ще замени системните файлове с такива, за които е известно, че работят.

В някои случаи може да се появят критични грешки след актуализация или надстройка на системата, което също най-често се отнася до проблеми с системни файлове. Най-много по прост начинрешението на подобни проблеми би било възстановяването на резервно копиевъв времето преди актуализацията обаче има други методи, за които сме писали в един от нашите.

Неправилни настройки

Неправилни настройки на вашата система или повреда на самите файлове, в които се съхраняват, също могат да причинят критични повреди. Често поведението на системата може да ви каже кои параметри са конфигурирани неправилно. Например, ако проблемът възникне, когато компютърът или дисковете (поради неактивност) влязат или излязат от режим на заспиване, може да можете да деактивирате функциите в менюто Системни предпочитания → Енергоспестяване.

Ако не можете да определите източника на проблема, можете да използвате един от общите подходи и да създадете нов акаунт. Така че изображенията, които нулирате за нови сметкавсички потребителски настройки и можете да проверите дали това решава проблема. Ако проблемът е разрешен в новия акаунт, но не сте успели да определите причината, може да е по-удобно да прехвърлите всички необходими данни на новия потребител и да изтриете стария.

Освен това стартирането на системата в безопасен режим. За да направите това, изключете компютъра и задръжте натиснат клавиша ⇧Shift следващия път, когато го включите. По този начин вие не само ще деактивирате временно всички разширения на ядрото на трети страни, системни добавки и настройки, които могат да причинят сривове, но и ще изчистите някои временни файлове, които също може да са причина за проблема.

И накрая, ако имате външен носител (флашка или външно устройство), можете да извършите чиста инсталация на системата на него, след което да рестартирате компютъра и да задържите клавиша ⌥Alt/Option, докато го включвате. В резултат на това на екрана ще се покаже списък с устройства, от които можете да стартирате системата. Изберете вашето външно устройство и натиснете ⏎Enter. По този начин можете да проверите работата на вашия компютър с чиста система без софтуер на трети страни и допълнителни потребителски настройки.

Ако описаните по-горе методи не дадат положителен резултат, можем да кажем с почти пълна сигурност, че проблемът е хардуерен. В случая опити независимо решениепроблемите имат малък шанс за успех. Струва си да обмислите контакта сервизен центърда получите квалифицирана помощ за допълнителна диагностика и отстраняване на неизправности.

Попаднах на стар лаптоп MacBook Pro 2010 година, което силно се забави. Подозренията паднаха върху диска, тъй като тези модели бяха с инсталиран HDD, беше решено да се замени с SSD с вече инсталиран MacOSвзети от друга кола.

Проблемът не изчезна и нямаше визуално подобрение. След няколко проверки, нулиране NVRAMи SMC, тъй като охладителя се въртеше на 100% скорост, когато бях почти сигурен, че проблема е в хардуера, случайно погледнах в " Мониторинг на системата"и видя натоварването на процесора там на 140-250%.
Проблемът беше, че процесът Kernel_task Изяждаше ресурсите на процесора и пречеше на цялата операционна система да работи.

Ето какво пишат самите Apple за този процес:
Процесът kernel_task помага за управление на температурите на процесора чрез намаляване на наличността на ресурси на процесора за програми с интензивно изчисление. С други думи, процесът kernel_task се стартира, когато има риск от прегряване централен процесор. Само по себе си то не предизвиква подобни ситуации. Когато температурата на процесора спадне, активността на този процес автоматично намалява.

Беше намерено решение на проблема:

1) Първо включете дисплея скрити папки:
— Отидете на „Терминал“
— Въведете 2 команди:
по подразбиране пише com.apple.finder AppleShowAllFiles TRUE
killall Finder

2) След това определяме компютърния модел:
- Кликнете върху „За този Mac“
— След това щракнете върху бутона „Подробности“.
— Кликнете върху „Системен отчет“
Където е хардуерът, намерете и запомнете „ID на модела“. В моя случай това е MacBookPro7,1

3) Следвайте този път:
/Система/Библиотека/Разширения
Изберете файл IOPlatformPluginFamily.kext, щракнете с десния бутон и изберете „Показване на съдържанието на пакета“

4) Отидете на Съдържание/Добавки , след това върху файла ACPI_SMC_PlatformPlugin.kextизберете също „Показване на съдържанието на пакета“

5) Следващ в Съдържание/Ресурси намерете файла с модела лаптоп. Както си спомняте: имах MacBookPro 7.1. Изтрийте този файл! (Ако не желания файл, изтрийте най-близките модели, например няма 8.1, изтрийте 7.1 и 9.1)

6) Рестартирайте компютъра си. Тази процедура вероятно ще трябва да се направи след всяка Mac актуализации OS

За да върнете показването на папки, както беше преди, изпълнете командата в терминала:
по подразбиране пише com.apple.finder AppleShowAllFiles FALSE
killall Finder

Ако не можете да премахнете ID на модела

Ако имате MacOS El Capitan или по-висока, системата няма да ви позволи да изтриете файла с идентификатор, тъй като първо трябва да премахнете защитата на целостта на системата (Защита на целостта на системата или накратко SIP).

SIP може да бъде деактивиран само от режим на възстановяване. Трябва да рестартирате, да получите достъп до " Терминал" и въведете командата за изключване.

  • Изключете Mac и когато го включвате, задръжте натиснати клавишите ⌘R (Command + R);
  • След зареждането стигаме до менюто за възстановяване. Отворете секцията " Помощни програми"и бягай" Терминал»;
  • Въведете командата:
    csrutil деактивиране
  • Рестартирайте Mac.

За да активирате защитата, трябва да влезете отново в режим на възстановяване, да отворите терминал и да въведете командата.

Ако имате компютър с MacOS (MacBook или iMac), тогава често сте забелязвали процеса „kernel_task“ в „Монитора на активността“. Какво е това и защо зарежда системата ще бъде обсъдено в нашата статия.

дадени системен процесможе значително да натовари хардуера на устройството (особено процесора). Натоварването е придружено от увеличаване на скоростта на охладителите на охладителната система.

Какъв е процесът

На уебсайта ЯбълкаПосочено е, че основната функция на „kernel_task“ е контрол на температурата чрез „потискане“ на програми, изискващи производителност.

Ако компютърът започне да се нагрява, тогава процесът започва и ограничава работата на приложението, което е причинило това повишаване на температурата. Процентът на натоварване на “kernel_task” зависи пропорционално от нагряването.

Как да деактивирате

Особено тревожно този проблемсобственици на остарели модели Mac (2012 г. и по-рано) поради ниската производителност на самото устройство. Това може да се реши чрез премахване на някои компоненти. Нека разгледаме два варианта.

важно! Вие извършвате всички действия на свой собствен риск. Бъдете внимателни.

За MacOS Yosemite и по-стари

Ако имате версия на операционната система, по-млада от El Capitan, процесът на изключване ще изглежда така.

  1. Отидете на „Терминал“ → въведете две команди на свой ред:
  2. Отворете Относно този Mac.
  3. „Повече подробности“ → „Системен отчет“.
  4. Запомнете информацията от елемента „идентификатор на модела“ (например „MacBookPro5.5“).
  5. „Отиди“ → „Отиди на папка“.
  6. /Система/Библиотека/Разширения.
  7. Щракнете с десния бутон върху файла „IOPlatformPluginFamily.kext“ → „Показване на съдържанието на пакета“.
  8. „Съдържание“ → „Добавки“ → щракнете с десния бутон върху „ACPI_SMC_PlatformPlugin.kext“ → „Показване на съдържанието на пакета“.
  9. В „Съдържание“ → „Ресурси“ намерете файла с името на вашия Mac (например „MacBookPro7.1“) → изтрийте го.
  10. Рестартирайте вашия компютър → отворете „Терминал“ → въведете 2 команди:

Обърнете внимание! Ако методът не помогне, опитайте следващия.

За MacOS El Capitan и по-нови

IN нови версииСистемата на Apple има защита за целостта на системата, която е по-известна като SIP. Поради това методът се различава от предишния.


Обърнете внимание! За да активирате отново защитата, трябва да въведете csrutil enable вместо горното.

Понякога забелязвате, че вашият Mac не работи толкова бързо, колкото беше преди. Програмите работят по-бавно, процесорът се нагрява и вентилаторът работи на предела си. Днес ще ви кажем една от причините, поради които компютърът работи по този начин.

« configd" е демон за системна конфигурация, който работи върху системата Mac OS X. Повечето потребители никога няма да го видят, защото "configd" работи в фон Mac. Освен това този демон понякога може да стане капризен, което причинява необичайни скокове в производителността на процесора и звукът на вентилатора на вашия Mac става като бръмчене като в аеродинамичен тунел. Всичко това може да се диагностицира чрез стартиране на Activity Monitor и след това сортиране на процесите по "% CPU". Ако не работи правилно, “configd” ще заеме някъде между 20-95% от ресурсите на процесора. Ако това поведение продължи около минута, тогава това е нормално явление, за което не е нужно да мислите твърде много, просто го изпробвайте. Но има моменти, когато "configd" може да зареди процесора за няколко часа без никакъв проблем. очевидна причинана това.

Решаване на проблема с стартирането на „configd“ през терминала

За да принудим "configd" да се възобнови, първо ще убием процеса с помощта на командата "killall". Тъй като това е системен процес, той ще бъде рестартиран незабавно. Във всеки случай, в който "configd" губи ресурси на процесора, този трик ще реши проблема.

Стартирайте терминал (намиращ се в /Applications/Utilities/) и въведете следната команда:

sudo killall config

Ще трябва да въведете администраторската парола, за да изпълните командата като супер потребител. Изпълнението на командата без sudo няма да работи.

Ако оставите Activity Monitor отворен и го сортирате по CPU, ще забележите, че „configd“ ще изчезне и веднага ще се появи отново, докато вече не е в горната част на списъка и вече не изяжда процесора. Сега нормален демон ще бъде някъде между 0% и 1% CPU.

Ако имате проблеми с configd след използване на командата "killall", превъртете до края на тази статия, за да научите повече за отстраняването на неизправности с този демон.

Работа с "configd" без терминал

Ако не сте запознати с команден ред, има още две опции:

  1. Затворете всичко работещи приложения Mac
  2. Рестартирайте компютъра си

Рестартирането на Mac има същия ефект като спирането на config процеса в терминала. Този метод може да помогне, ако неадекватната работа на демона е причинена от неправилна работа на една от работещите програми.

Диагностика "configd и daemon help"

Официално Apple описва конфигурацията по следния начин:

« Демонът Configd е отговорен за много аспекти на конфигурацията на локалната система. "configd" съхранява данните, използвани от текущото състояние на системата, предоставя известия на приложенията, когато тези данни се променят, и извършва различни конфигурации за други агенти.»

Ако искате да опитате да диагностицирате причината за неправилното поведение на "configd", тогава първо можете да погледнете несъответствията в PLIST файловете, които се намират в следните директории:

/System/Library/SystemConfiguration/

/Library/Preferences/SystemConfiguration/

Друг вариант е да стартирате отново "configd", но в разширен режим, като използвате следната команда:

sudo /usr/libexec/configd -v

Тази команда ще експортира подробна информацияза това какво се случва в системата на конзолата. Сравняването на тази информация с тази, намерена в гореспоменатите системни директории, може да бъде много полезно за намиране на точната причина, поради която демонът не работи правилно.

Общият опит показва, че някои приложения и процеси извикват демона "config" по-често от други. Това се случва с някои принтери, приложения, работещи с Java, и се повтаря неуспешни опитимрежови връзки. Ето защо понякога нулирането на всички приложения в системата може да бъде много ефективно при разрешаването на този проблем.

Отделът за сигурност на Google, Project Zero, откри пропуск в ядрото на macOS, което има „високо ниво на сигурност“ (чрез AppleInsider).

Грешка в ядрото

Ядрото си е ядро операционна система. Той има пълен контрол над всичко и обработва неща като вход/изход от софтуер, памет, компютърни аксесоари и др. XNU е името на ядрото, използвано във всички операционни системи на Apple.

Пропускът позволява на хакер да направи промени във файл, без да уведоми операционната система. Това се забърква с нещо, наречено копиране при запис (COW), което позволява на процесите да записват данни помежду си, но трябва да бъдат защитени от други неща, които ги променят. Този недостатък позволява това да се случи.

Това поведение на копиране при запис работи не само с анонимна памет, но и с файлови съпоставки. Това означава, че след като целевият процес е започнал да чете от мигрираната област на паметта, увеличаването на отпечатъка на паметта може да накара страниците, съдържащи мигрираната памет, да бъдат премахнати от кеша на страницата. По-късно, когато изгонените страници са необходими отново, те могат да бъдат презаредени от резервната файлова система.