يتناول هذا المقال المهمة المهمة لمراقبة أداء النظام، وهي تحدٍ شائع يواجهه مديرو النظام والمهندسون. على وجه التحديد، فإن مراقبة استخدام وحدة المعالجة المركزية للخوادم وأجهزة الكمبيوتر الشخصية أمر حاسم لفهم صحة النظام. تقدم PowerShell أدوات قوية للأتمتة وتنفيذ مهام المراقبة هذه بكفاءة. يقدم هذا المقال كيفية التحقق من استخدام وحدة المعالجة المركزية بسهولة وسرعة باستخدام PowerShell. من خلال فهم ودمج هذه العملية في سير عملك، يمكنك فهم حالة نظامك بشكل أفضل والاستجابة بسرعة عند الضرورة.
التحقق من استخدام وحدة المعالجة المركزية باستخدام سكريبت PowerShell
أبسط طريقة للتحقق من استخدام وحدة المعالجة المركزية باستخدام PowerShell هي باستخدام الأمر Get-Counter
. يسمح لك هذا الأمر بجلب معلومات أداء النظام الفعلية من عدادات أداء Windows. أدناه مثال على سكريبت أساسي للحصول على متوسط استخدام وحدة المعالجة المركزية للنظام.
# سكريبت PowerShell للحصول على استخدام وحدة المعالجة المركزية
$cpuUsage = Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 1
Write-Host "الاستخدام الحالي لوحدة المعالجة المركزية هو: $($cpuUsage.CounterSamples.CookedValue)%"
يجلب هذا السكريبت الاستخدام الكلي لوحدة المعالجة المركزية ويعرضه على الوحدة الطرفية. يحدد -SampleInterval
الفترة بالثواني لأخذ العينات، ويحدد -MaxSamples
عدد العينات للجلب. في هذا المثال، يتم جلب عينة واحدة في فترة زمنية مدتها ثانية واحدة.
على الرغم من أن هذا السكريبت أساسي جدًا، يمكن دمج منطق أكثر تعقيدًا في بيئة العالم الحقيقي. على سبيل المثال، يمكنك تخصيصه لإصدار تحذيرات عند تجاوز عتبات معينة، السجل إلى ملف، أو التنفيذ التلقائي في أوقات معينة، حسب احتياجاتك.
تخصيص السكريبت
بينما استخدام سكريبت PowerShell للتحقق من استخدام وحدة المعالجة المركزية بسيط من حيث المبدأ، يمكن تخصيصه ليناسب متطلبات أو احتياجات محددة. هنا، نقدم عدة طرق لجعل السكريبت أكثر عملية وتوسيع نطاق فائدته.
التحذير عند تجاوز العتبات
يمكنك دمج ميزة لإصدار تحذيرات عند تجاوز استخدام وحدة المعالجة المركزية لعتبات محددة. هذا يسمح بالاستجابة السريعة عندما يكون حمل النظام مرتفعًا بشكل غير متوقع.
# تعيين عتبة استخدام وحدة المعالجة المركزية
$threshold = 75
# الحصول على استخدام وحدة المعالجة المركزية
$cpuUsage = Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 1
$currentCpuUsage = $cpuUsage.CounterSamples.CookedValue
# التحذير إذا تم تجاوز العتبة
if ($currentCpuUsage -gt $threshold) {
Write-Host "تحذير: تجاوز استخدام وحدة المعالجة المركزية $threshold%. الاستخدام الحالي: $currentCpuUsage%";
}
التسجيل إلى ملف
من المهم أيضًا التحقق بشكل دوري من استخدام وحدة المعالجة المركزية وتسجيل النتائج في ملف. هذا يسمح بتحليل سلوك النظام على مر الزمن من خلال الرجوع إلى بيانات الأداء السابقة.
# مسار ملف السجل
$logPath = "C:\Path\To\Your\LogFile.txt";
# الحصول على استخدام وحدة المعالجة المركزية وتسجيله في الملف
$cpuUsage = Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 1
$currentCpuUsage = $cpuUsage.CounterSamples.CookedValue
$logEntry = "$(Get-Date) - استخدام وحدة المعالجة المركزية: $currentCpuUsage%";
Add-Content -Path $logPath -Value $logEntry
تنفيذ السكريبت تلقائيًا في أوقات محددة
يمكنك ضبط هذا السكريبت ليتم تنفيذه تلقائيًا في أوقات محددة باستخدام مهمة مجدولة. هذا يلغي الحاجة إلى المراقبة اليدوية ويتتبع بفعالية صحة النظام.
- افتح مجدول المهام.
- اختر “إنشاء مهمة أساسية”.
- اضبط المحفز باختيار الوقت أو التكرار المرغوب.
- للعمل، اختر “بدء برنامج” وحدد مسار ملف السكريبت.
باستخدام هذه التخصيصات، يمكنك جعل مراقبة استخدام وحدة المعالجة المركزية بسكريبتات PowerShell أكثر فعالية وقابلية للتكيف.
التحقق من الأخطاء الشائعة
عند استخدام سكريبتات PowerShell للتحقق من استخدام وحدة المعالجة المركزية، قد تواجه بعض المشاكل الشائعة. هنا، نقدم هذه المشكلات وحلولها.
الأمر غير موجود
إذا كنت تستخدم إصدارًا أحدث من PowerShell، قد تواجه خطأ حيث لا يتم العثور على الأمر Get-Counter
. عادةً ما يحدث هذا الخطأ لأن الوحدة النمطية اللازمة إما غير مثبتة أو غير مستوردة.
- الحل: استخدم الأمر
Import-Module
في جلسة PowerShell الخاصة بك لاستيراد الوحدة النمطية المطلوبة يدويًا.
Import-Module -Name Microsoft.PowerShell.Diagnostics
مشاكل الإذن
عند تنفيذ السكريبت، قد ترى خطأ “تم الرفض”. يحدث هذا عندما لا يمتلك المستخدم الذي ينفذ السكريبت الأذونات اللازمة.
- الحل: افتح PowerShell في وضع “تشغيل كمسؤول” ونفذ السكريبت مرة أخرى. هذا يسمح لك بتشغيل الأوامر بالأذونات المطلوبة.
بيانات غير دقيقة
أحيانًا، قد يعيد السكريبت بيانات غير متوقعة أو غير دقيقة. يمكن أن يحدث هذا إذا لم تكن فترة العينة أو عدد العينات مناسبًا.
- الحل: قم بضبط معلمات
-SampleInterval
و-MaxSamples
للحصول على بيانات أكثر دقة. كما يجب التأكد من أن النظام ليس تحت حمل عالٍ والنظر في أخذ القياسات عدة مرات لتوسيط النتائج.
بالاستفادة من نصائح استكشاف الأخطاء وإصلاحها هذه، يمكنك جعل مراقبة استخدام وحدة المعالجة المركزية بواسطة سكريبتات PowerShell أكثر سلاسة ودقة.
الخلاصة
في هذا المقال، تعلمنا كيفية التحقق من استخدام وحدة المعالجة المركزية لنظام باستخدام PowerShell. تغطي كل شيء من إنشاء سكريبت أساسي باستخدام الأمر Get-Counter
للحصول بسهولة على استخدام وحدة المعالجة المركزية، إلى تخصيص السكريبت ليناسب احتياجات محددة، وحتى معالجة المشكلات الشائعة التي قد تظهر أثناء التنفيذ.
مراقبة استخدام وحدة المعالجة المركزية بواسطة PowerShell أمر حيوي للحفاظ على صحة النظام وتحديد مشكلات الأداء مبكرًا. بتطبيق طرق تخصيص السكريبت المقدمة في هذا المقال، يمكنك تلبية احتياجات مراقبة النظام الأكثر تحديدًا وتحقيق استكشاف أخطاء فعال.
PowerShell أداة قوية، وإتقان استخدامها يمكن أن يعزز بشكل كبير كفاءة إدارة النظام. استخدم المعرفة المكتسبة هنا لتنفيذ المزيد من المراقبة والإدارة المتقدمة في مهام إدارة النظام اليومية.