البرمجة

قياس استهلاك الذاكرة في Windows باستخدام PowerShell

في عالم تطوير البرمجيات، يعتبر فحص استهلاك الذاكرة للعملية الحالية أمرًا حيويًا لضمان أداء فعّال واستهلاك منخفض للموارد. عندما يتعلق الأمر بأنظمة التشغيل مثل Windows، يختلف الأمر قليلاً عن البيئات الأخرى مثل Mac و Linux.

للحصول على معلومات حول استهلاك الذاكرة للعملية الحالية في نظام Windows، يمكن استخدام أمر PowerShell المدمج. يمكنك استخدام الأمر التالي للحصول على استهلاك الذاكرة لعملية معينة باستخدام رقم معرف العملية (PID):

powershell
(Get-Process -Id 3432).WorkingSet64

هذا الأمر يستخدم Cmdlet Get-Process لاسترجاع معلومات حول العملية ذات الهوية المحددة، ويظهر استهلاك الذاكرة بوحدة قياس بايت.

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

powershell
(Get-Process -Id 3432).VirtualMemorySize64 (Get-Process -Id 3432).PrivateMemorySize64

تأكد من تعديل رقم العملية (PID) في الأمثلة أعلاه حسب العملية التي ترغب في فحص استهلاك الذاكرة لها.

من المهم أن تلاحظ أنه يمكنك دمج هذه الأوامر في بيئة Ruby باستخدام الأمر system أو طرق أخرى متاحة في Ruby لتنفيذ الأوامر النظامية واسترجاع النتائج.

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

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

في الواقع، يمكن أن تظهر بعض الاختلافات بين نتائج PowerShell والأمر الذي كنت قد استخدمته في Mac/Linux. يتمثل الفرق الرئيسي في وحدة قياس الذاكرة المستخدمة، حيث يستخدم PowerShell بايت كوحدة افتراضية.

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

تحويل البايت إلى كيلوبايت:

powershell
(Get-Process -Id 3432).WorkingSet64 / 1KB

تحويل البايت إلى ميجابايت:

powershell
(Get-Process -Id 3432).WorkingSet64 / 1MB

يمكن أيضًا استخدام الأمر Measure-Object لحساب الحجم بوحدة ميجابايت مباشرة:

powershell
(Get-Process -Id 3432 | Measure-Object -Property WorkingSet64 -Sum).Sum / 1MB

هذا يعتبر حلاً مفيدًا إذا كنت ترغب في توحيد وحدات القياس لتسهيل فهم النتائج.

بشكل عام، يُشجع على استكشاف وفهم الأدوات المتاحة في بيئة Windows PowerShell واستخدامها بناءً على احتياجات مشروعك الخاص.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!