أجهزة الكمبيوتر شبابيك إنترنت

تشخيص و "معالجة" أخطاء النظام الحرجة (kernel panic). ما هي عملية kernel_task على نظام MacOS؟ على أجهزة كمبيوتر Mac المحمولة المزودة ببطارية قابلة للإزالة

اكتشف فريق أمان Google Project Zero خللاً في macOS kernel ، مستوى عالالأمن "(من خلال أبل).

خطأ Kernel

الجوهر هو الجوهر نظام التشغيل... لديه سيطرة كاملة على كل شيء ويتعامل مع أشياء مثل I / O من البرمجياتوالذاكرة وملحقات الكمبيوتر والمزيد. XNU هو اسم kernel المستخدم في جميع أنظمة تشغيل Apple.

يسمح الخلل للمتسلل بإجراء تغييرات على الملف دون إخطار نظام التشغيل. هذا يفسد شيئًا يسمى النسخ عند الكتابة (COW) ، والذي يسمح للعمليات بكتابة البيانات فيما بينها ، ولكن يجب حمايتها من الأشياء الأخرى التي تقوم بتعديلها. هذا الخلل يسمح بحدوث ذلك.

لا يعمل سلوك النسخ عند الكتابة هذا فقط مع الذاكرة المجهولة ، ولكن أيضًا مع تعيينات الملفات. هذا يعني أنه بعد أن تبدأ عملية التخصيص القراءة من منطقة الذاكرة التي تم ترحيلها ، يمكن أن تؤدي زيادة استخدام الذاكرة إلى حذف الصفحات التي تحتوي على الذاكرة المرحّلة من ذاكرة التخزين المؤقت للصفحة. في وقت لاحق ، عندما تكون هناك حاجة إلى الصفحات التي تم استباقها مرة أخرى ، يمكن إعادة تحميلها من نظام الملفات الاحتياطية.

تلاحظ أحيانًا أن جهاز Mac ليس بالسرعة التي كان عليها من قبل. تعمل البرامج بشكل أبطأ ، وتسخن المعالج ، وتعمل المروحة بأقصى طاقتها. سنخبرك اليوم بأحد أسباب عمل هذا الكمبيوتر.

« сonfigd"هو برنامج خفي لتكوين النظام يتم تشغيله أعلى نظام Mac OS X. ولن يراه معظم المستخدمين مطلقًا لأن" configd "تعمل في معرفتيماك. أيضًا ، يمكن أن يبدأ هذا الشيطان أحيانًا في أن يكون "متقلبًا" ، مما يتسبب في قفزات غير عادية في وحدة المعالجة المركزية ، ويصبح صوت مروحة جهاز Mac الخاص بك مثل همهمة مثل نفق الرياح. يمكن تشخيص كل هذا عن طريق تشغيل مراقب النشاط ، ثم فرز العمليات حسب٪ CPU. متي عمل غير صحيحسيأخذ "Configd" ما بين 20-95٪ من موارد وحدة المعالجة المركزية. إذا استمر هذا السلوك لمدة دقيقة أو نحو ذلك ، فهذا أمر شائع يمكن تجاهله ، فقط دعه يكون صادقًا. ولكن هناك أوقات يمكن فيها لـ "configd" تحميل المعالج لعدة ساعات دون أي سبب واضحعلى هذا.

حل مشكلة عمل "configd" من خلال المحطة

لإجبار configd على الاستئناف ، نقتل العملية أولاً بأمر killall. نظرًا لأن هذه عملية نظام ، فسيتم إعادة تشغيلها على الفور. في أي وقت يضيع فيه "configd" موارد وحدة المعالجة المركزية ، فإن هذه الحيلة ستحل المشكلة.

قم بتشغيل Terminal (الموجود في / Applications / Utilities /) وأدخل الأمر التالي:

sudo killall configd

ستحتاج إلى إدخال كلمة مرور المسؤول الخاصة بك لتنفيذ الأمر كمستخدم متميز. لن يعمل تشغيل الأمر بدون sudo.

إذا تركت Activity Monitor مفتوحًا وتم فرزك حسب وحدة المعالجة المركزية ، فستلاحظ أن "configd" ستختفي وتعاود الظهور على الفور ، بينما لم تعد في قادة القائمة ، ولم تعد تستهلك المعالج. الآن سيكون الرقم الطبيعي للعفريت في مكان ما بين 0٪ و 1٪ CPU.

إذا كنت تواجه مشكلات مع configd بعد استخدام الأمر killall ، فانتقل إلى الجزء السفلي من هذه المقالة لمعرفة المزيد حول استكشاف هذا البرنامج الخفي وإصلاحه.

العمل مع "configd" بدون محطة طرفية

إذا لم تكن معتادًا على سطر الأوامر، هناك خياران آخران:

  1. أغلق جميع تطبيقات Mac قيد التشغيل
  2. أعد تشغيل جهاز الكمبيوتر الخاص بك

إعادة تشغيل جهاز Mac له نفس تأثير قتل عملية التكوين في الجهاز. يمكن أن تساعد هذه الطريقة في حالة عدم كفاية تشغيل البرنامج الخفي بسبب التشغيل غير الصحيح لأحد البرامج قيد التشغيل.

Configd Diagnostics and Daemon Help (تشخيصات التكوين وتعليمات البرنامج الخفي)

تصف Apple رسميًا configd على النحو التالي:

« يعد البرنامج الخفي Configd "مسؤولاً عن العديد من جوانب تكوين النظام المحلي. يقوم "Configd" بتخزين البيانات المستخدمة بواسطة الحالة الحالية للنظام ، ويقدم إشعارات التطبيق عندما تتغير هذه البيانات ، ويتعامل مع مجموعة متنوعة من التكوينات للوكلاء الآخرين.»

إذا كنت ترغب في محاولة تشخيص سبب السلوك غير الصحيح لـ "configd" ، فبإمكانك أولاً وقبل كل شيء إلقاء نظرة على التناقضات في ملفات PLIST الموجودة في الدلائل التالية:

/ النظام / المكتبة / SystemConfiguration /

/ Library / Preferences / SystemConfiguration /

خيار آخر هو تشغيل "configd" مرة أخرى ، ولكن في الوضع المتقدم ، باستخدام الأمر التالي:

sudo / usr / libexec / configd -v

سيتم تصدير هذا الأمر معلومات مفصلةحول ما يحدث في النظام لوحدة التحكم. يمكن أن تكون مقارنة هذه المعلومات بما هو موجود في أدلة النظام المذكورة أعلاه مفيدة جدًا في العثور على السبب الدقيق لخلل البرنامج الخفي.

أظهرت التجربة العامة أن بعض التطبيقات والعمليات تستدعي البرنامج الخفي "configd" أكثر من غيرها. يحدث هذا مع بعض الطابعات والتطبيقات المستندة إلى Java والعديد من المحاولات الفاشلة للاتصال بالشبكة. هذا هو السبب في أن إعادة تعيين جميع التطبيقات على النظام في بعض الأحيان يمكن أن تكون فعالة للغاية في حل هذه المشكلة.

أصحاب أجهزة الكمبيوتر المحمولة الجديدة ماك بوك بروتواجه أجهزة سطح المكتب iMac Pro خطأ فزع مفاجئ من kernel (على غرار BSOD من Windows لنظام MacOS).

يتضح ظهور خطأ من خلال العديد من الشكاوى من المنتدى الفني دعم Appleوموارد الجهات الخارجية. تحدث النافذة التي بها خطأ وإعادة تشغيل النظام اللاحقة مرة إلى مرتين في اليوم ، وغالبًا بعد إلغاء قفل الجهاز.

أسباب المشكلة

استنادًا إلى البيانات المتاحة اليوم ، فإن المشكلة ناتجة عن نظام Bridge OS المدمج وشريحة T2 الخاصة ، المسؤولة عن وظائف الكمبيوتر غير المستهلكة للطاقة - التحكم في سرعة دوران المبردات ومعالجة الصوت وما إلى ذلك. تحدث المشكلة فقط على أجهزة الكمبيوتر المزودة بشريحة T2. ومع ذلك ، لا يوجد حاليًا دليل مباشر على سبب مباشر في T2 ولا توجد بيانات حول انتشار المشكلة.


محاولات إصلاح المشكلة من قبل المستخدمين عن طريق تنظيف محرك الأقراص وإعادة تثبيت نظام التشغيل ، واستعادة نسخة من نظام التشغيل عبر Time Machine ، وفصل الأجهزة الطرفية ، وحتى تغيير الكمبيوتر لم تحقق الفعالية الكاملة. بناءً على ذلك ، يمكن افتراض أن المشكلة تكمن في عمق النظام.

حصلت على جهاز كمبيوتر محمول قديم ماك بوك برو 2010العام الذي تباطأ بشكل كبير. وقعت شكوك على القرص ، نظرًا لأنه تم تثبيت محركات الأقراص الثابتة في تلك الطرز ، فقد تقرر استبدالها بـ SSD مع تثبيت بالفعل نظام التشغيل Mac OSمأخوذة من سيارة أخرى.

لم تختف المشكلة ولم يكن هناك تحسن بصري. بعد عدة فحوصات ، يعيد NVRAMو SMC، نظرًا لأن المبرد يدور بسرعة 100٪ دورة في الدقيقة ، عندما كنت متأكدًا تقريبًا من أن المشكلة تكمن في الجهاز ، نظرت بالصدفة في " مراقبة النظاموشهد المعالج تحميل هناك بنسبة 140-250٪.
كانت المشكلة أن هذه العملية Kernel_task استهلك موارد وحدة المعالجة المركزية ومنع نظام التشغيل بأكمله من العمل.

إليك ما تكتبه شركة Apple نفسها عن هذه العملية:
تساعد عملية kernel_task في إدارة درجة حرارة وحدة المعالجة المركزية عن طريق تقليل توافر موارد وحدة المعالجة المركزية للبرامج الحاسوبية المكثفة. بمعنى آخر ، تبدأ عملية kernel_task عندما يكون هناك خطر ارتفاع درجة حرارة وحدة المعالجة المركزية. في حد ذاته ، لا يسبب مثل هذه المواقف. عندما تنخفض درجة حرارة وحدة المعالجة المركزية ، يتم تقليل نشاط هذه العملية تلقائيًا.

تم العثور على حل للمشكلة:

1) أولاً ، قم بتشغيل الشاشة المجلدات المخفية:
- نذهب إلى "المحطة"
- نحن نقود بأمرين:
الافتراضيات اكتب com.apple.finder AppleShowAllFiles TRUE
مكتشف killall

2) ثم نحدد نموذج الكمبيوتر:
- انقر فوق "About This Mac"
- ثم اضغط على زر "التفاصيل"
- انقر فوق "تقرير النظام"
حيث يوجد الجهاز ، ابحث عن "معرف الطراز" وتذكره. في حالتي ، هذا هو MacBookPro7،1

3) اتبع هذا المسار:
/ نظام / مكتبة / ملحقات
اختر ملف IOPlatformPluginFamily.kext، انقر بزر الماوس الأيمن وحدد "إظهار محتويات الحزمة"

4) اذهب إلى المحتويات / المكونات الإضافية ، ثم في الملف ACPI_SMC_PlatformPlugin.kextحدد أيضًا "إظهار محتويات الحزمة"

5) مزيد في المحتويات / الموارد ابحث عن الملف مع طراز الكمبيوتر المحمول. تذكر: كان لدي MacBookPro 7.1. احذف هذا الملف! (ان لم الملف المطلوب، احذف أقرب النماذج ، على سبيل المثال ، رقم 8.1 ، احذف 7.1 و 9.1)

6) أعد تشغيل جهاز الكمبيوتر الخاص بك. ربما يجب القيام بهذا الإجراء بعد كل تحديث لنظام التشغيل Mac OS.

لإعادة عرض المجلدات ، كما كان من قبل ، قم بتشغيل الأمر في "Terminal":
الافتراضيات اكتب com.apple.finder AppleShowAllFiles FALSE
مكتشف killall

إذا لم تتمكن من حذف معرف الطراز

في حالة وجود MacOS El Capitan أو إصدار أعلى ، فلن يسمح لك النظام بحذف ملف المعرف ، نظرًا لأنك تحتاج أولاً إلى إزالة حماية تكامل النظام (System Integrity Protection أو SIP للاختصار).

لا يمكن تعطيل SIP إلا من وضع الاسترداد. تحتاج إلى إعادة التشغيل والوصول إلى " صالةوأدخل أمر الاغلاق.

  • قم بإيقاف تشغيل جهاز Mac واستمر في الضغط على مفاتيح ⌘R (Command + R) عند تشغيله ؛
  • بعد التحميل نصل إلى قائمة الاسترداد. نفتح القسم " خدمات"و اهرب" صالة»;
  • أدخل الأمر:
    تعطيل csrutil
  • أعد تشغيل جهاز Mac الخاص بك.

لتمكين الحماية ، تحتاج إلى الدخول إلى وضع الاسترداد مرة أخرى ، وفتح محطة وإدخال الأمر.