نظام ويندوز العمليات الخمول التدخل في قياس الأداء

StackOverflow https://stackoverflow.com/questions/525807

سؤال

وأنا أفعل بعض قياس الأداء من قانون بلدي على مربع ويندوز وأنا وجدت أن أنا على الحصول على نتائج مختلفة بشكل كبير بين القياسات. يظهر قليلا سريعة مخصصة التنقيب خلال بطيئة واحدة في نظام إدارة المهام العمليات الخمول تناول وما يقرب من 100٪ وحدة المعالجة المركزية.

لا أحد يعرف ما نظام الخمول العمليات فعلا يعني وماذا ميزات Windows قد تكون قيد التشغيل؟

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

.

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

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

المحلول

وعملية الخمول عادة لا تفعل أي عمل مفيد باستثناء تنفيذ التعليمات HLT، الأمر الذي يضع أن حدة المعالجة المركزية الأساسية في حالة انخفاض القوة (<لأ href = "http://en.wikipedia.org/wiki/C_state# Power_States "يختلط =" نوفولو noreferrer "> C1 ). ومع ذلك، فإن حقيقة أن المؤشر الخاص بك لا تستهلك 100٪ CPU الوقت لا يفتح الباب أمام التكهنات حول ما يجري.

وإذا كان التطبيق الخاص بك هو ترابط واحد ونظام الفحص الخاص بك متعددة النوى / hyperthreaded / متعددة وحدة المعالجة المركزية، ثم يجب أن نتوقع أن نرى حوالي 50٪ الوقت CPU خاملا لاثنين من النوى، و 75٪ لمدة أربعة، وما إلى ذلك لأن وتشمل النسب المئوية وقت وحدة المعالجة المركزية في إدارة المهام جميع النوى. (وأعتقد أن الإصدارات القديمة من ويندوز كان خيار لتغيير هذا، لكنني لا أرى ذلك على ويندوز فيستا).

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

والحصول على نتائج المؤشر استنساخه بالكامل قد تتطلب منك تعطيل معالج / القرص / شبكة مكثفة التطبيقات الخلفية والخدمات (مثل فهرسة البحث، والجرد البرامج SMS، الفيروسات، تحميل تحديث ويندوز، IncrediBuild / distcc) أو لتوصيل الجهاز ل شبكة معزولة (أو إلى أي شبكة على الإطلاق).

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

نصائح أخرى

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

إذا كنت قياس أداء البرنامج، لا تستخدم ويندوز مدير المهام. استخدام مراقبة الأداء بدلا من ذلك (والتي يمكنك البدء بكتابة "بيرفمون" في سطر الأوامر). أو أفضل من ذلك، استخدم التعريف .

إذا "نظام عملية خمول" هو تناول 100٪ ثم أساسا هو بالملل آلة، لا شيء يجري. إذا قمت بإضافة كل شيء يحدث في مدير المهام، طرح هذا العدد من 100٪، ثم سيكون لديك قيمة "عملية خمول النظام." لاحظ أنه يستهلك تقريبا أي ذاكرة على الإطلاق ولا يمكن أن يكون التأثير على الأداء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top