إستخدام عالي لوحدة المعالجة المركزية من طرف العملية WMIPRVSE.EXE علي فترات منتظمة في Windows

العَرَض

عند إستخدام جهاز كمبيوتر يستند إلى Windows تلاحظ أن عملية إدارة Windows (WMI) موفر المضيف (WmiPrvSE.exe) يقوم بإستخدام سعة CPU عالية (بالقرب من 100 في المائة) لعدة دقائق كل 15 إلى 20 دقيقة.

عند حدوث المشكلة، إستخدم إدارة المهام للتعرف علي معرف العملية (PID) للعملية WMIPRVSE.EXE التي تستهلك CPU بشكل كبير. قم بفتح موجه أوامر غير مقيد، وقم بتشغيل الأمر التالي: 

tasklist /m wmiperfclass.dll

سيتم عرض قائمة عمليات WMIPRVSE.EXE التي تحتوي علي هذه الوحدة المحملة. عادة يتم سرد عملية واحده فقط. ومع ذلك، إذا كان لديك عملاء من كلا 32 بت و 64 بت، قد تشاهد عمليتين. هذا هو مثال الإخراج: 

إسم الصورة PID الوحدات
================    ========    ============================================
 WmiPrvSE.exe 2140 WmiPerfClass.dll 

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

السبب

قد يحدث هذا السلوك بسبب أي من الحالات التالية:

عملية واحدة أو أكثر تستخدم عددا كبيرا من المعالجات

يتم تخزين كافة المقابض في بنية kernel (كرنل) \BaseNamedObjects. يجب أن يقوم موفر WMIPerfClass بفحص هذه البنية عند إنشاء فئة الأداء المرتبطة بعناصر المهمة.

إذا كانت هذه البنية منتفخة بسبب العدد الكبير من المقابض، سيكون لدي العملية إستخدام CPU عالي وسيستغرق وقتا أطول من المعتاد.

قد تتوقع تأثيرا لهذا الشرط عند إستخدام عملية أكثر من حوالي 30,000 مقابض، أو العدد الإجمالي لمقابض علي النظام يتجاوز 50,000.

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

واحدة أو أكثر من العمليات التي تعمل علي النظام تستخدم الكثير من الذاكرة

يؤثر هذا علي إنشاء فئات الأداء العملية لأن منطقة الذاكرة لكل عملية قيد التشغيل سيتم الاستعلام عنها. قد تكون الذاكرة المستخدمة من قبل العملية مجزأة، وهذا يجعل العملية أكثر كثافة في استخدام الموارد. يحدث هذا لأن WMIPerfClass أيضا يقوم بالإستعلام "المكلف"عن عدادات الأداء.

يمكنك التحقق مما إذا كان يتم تمكين عدادات الأداء المكلفة عن طريق تشغيل أمر PowerShell التالي:

‎ (gwmi -query 'select * from meta_class').Name | ? { $_ -match "costly"}

إذا قام الأمر بإرجاع النتائج، يشير هذا إلى عدادات الأداء المكلفة التي تم تمكينها. على سبيل المثال:

Win32_PerfFormattedData_PerfProc_FullImage_Costly
Win32_PerfRawData_PerfProc_FullImage_Costly
Win32_PerfFormattedData_PerfProc_Image_Costly
Win32_PerfRawData_PerfProc_Image_Costly
Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly
Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly
Win32_PerfRawData_PerfProc_ThreadDetails_Costly

الحل البديل

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

بشكل إفتراضي إذا كنت تستخدم Windows Server 2016 أو إصدار أحدث من Windows، يتم تعطيل عدادات الأداء المكلفة بدءا من التحديثات التراكمية التالية:

ملاحظة بعد تثبيت التحديث التراكمي، إذا كنت في حاجة إلى الفئات التي تتعلق بعدادات الأداء المكلفة، قم بتعيين القيمة تمكين الموفرين المكلفين إلى 1 (DWORDضمن مفتاح التسجيل الفرعي التالي لجعلها متوفرة مرة أخرى:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem

ملاحظةلن يؤثر التحديث التراكمي علي السلوك عند إستخدام عملية عدد كبير من المعالجات.

في Windows Server 2012 R2 مع 19 سبتمبر 2017 — KB4038774، السلوك الافتراضي هو ترك عدادات الأداء المكلفة ممكّنة.  لتعيينها إلى تعطيل، استخدم مفتاح التسجيل تمكين موفري المكلفة وتعيينها إلى 0 (تعطيل).

تحدث هذه المشكلة عندما يقوم عميل بالإستعلام عن فئات الأداء. عادةً ما يكون هذا تطبيق مراقبة.

كحل بديل، يمكنك أيضا تعطيل تطبيق المراقبة لمنع إنشاء فئات الأداء.

مزيد من المعلومات

يوفر WMI العديد من فئات الأداء. للحصول على المزيد من المعلومات، راجع فئات عداد الأداء.

يتم إنشاء هذه الفئات بشكل حيوي استنادا إلى "عدادات الأداء" المتوفرة في النظام. يتم إنشاء كافة الفئات في نفس الوقت، وليس فقط الفئات التي يتم الاستعلام عنها.

WMIPerfClass هو الوحدة النمطية التي تعالج إنشاء هذه الفئات عندما يستعلم عميل WMI أي منها أو تعداد الفئات المتوفرة.

يتم تخزين فئات الأداء هذه في ذاكرة التخزين المؤقت التي يتم إبطالها بعد 15 إلى 20 دقيقة. بمجرد أن يتم إبطال ذاكرة التخزين المؤقت، يجب إنشاء فئات الأداء مرة أخرى إذا كان العميل يطلبها.

إنشاء فئات الأداء يعني أنه يجب تحميل الوحدة النمطية WMIPerfClass.dll داخل العملية WMIPRVSE.EXE وتنفيذ التعليمات البرمجية ذات الصلة.

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×