Future ForgeFuture ForgeFuture ForgeFuture Forge
خدماتنمونه‌کارهاپکیج‌هاابزارهای رایگانیادداشت‌هادرباره ماتماس
شروع پروژه
  1. خانه
  2. /یادداشت‌ها
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
Future ForgeFuture Forge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

خدمات

طراحی و ساخت محصولتوسعه فول‌استکممیزی مهندسیمشاوره معماریزیرساخت و استقرارهوش مصنوعی در محصول

کاوش

نمونه‌کارهایادداشت‌هاپرسش‌هاپکیج‌ها

ابزارهای رایگان

ممیزی مهندسیمشاور معماریتخمین پروژهابزار پرامپت

شرکت

درباره ماتماسحریم خصوصیشرایط استفاده

پروژه‌تان را مطرح کنید

مسئله و محدودیت را بنویسید. اگر تطابق داشته باشیم، برای گفتگو هماهنگ می‌کنیم.

پروژه‌تان را مطرح کنید

ارتباط

hello@futureforge.ir09128464105
GitHubLinkedIn

© 2026 FutureForge. همه حقوق محفوظ است.

خانهخدماتابزارهای رایگانشروع پروژه
عملیات و استقرار

چطور RAM و CPU را در ویندوز تحلیل کنیم؟

روش عملی خواندن مصرف پردازنده و حافظه در ویندوز با Task Manager، Resource Monitor، Get-Process و Performance Monitor.

سا
سهیل ابراهیم‌پور

بنیان‌گذار و مهندس محصول

·۲۹ شهریور ۱۴۰۵·11 دقیقه مطالعه
تحلیل RAM و CPU ویندوزTask ManagerResource MonitorGet-ProcessPerformance Monitormemory leak Windows
Task Manager Performance با استیکی Analyze RAM/CPU

وقتی فن بلند می‌شود، بیلد طول می‌کشد، یا مرورگر بعد از چند ساعت سنگین می‌شود، حدس «رم کم است» کافی نیست. باید ببینید فشار از CPU است یا Memory یا Disk، کدام فرایند مسئول است، و آیا الگو لحظه‌ای است یا نشتی بلندمدت. ویندوز برای این کار Task Manager، Resource Monitor، Performance Monitor و cmdletهای PowerShell را دارد.

این مقاله ترتیب عملی خواندن منابع را از دید توسعه‌دهنده می‌دهد تا قبل از خرید RAM یا نصب بوستر، شواهد داشته باشید.

مسیر Task Manager تا Resource Monitor و Get-Process

پاسخ کوتاه

با Ctrl+Shift+Esc به Task Manager بروید، تب Processes را روی CPU و Memory مرتب کنید، در Details مسیر و PID را ببینید، برای عمق فایل/هندل به Resource Monitor (resmon) بروید، و برای نمونه‌برداری اسکریپتی از Get-Process و در صورت نیاز Performance Monitor استفاده کنید. درصد CPU را با تعداد هسته تفسیر کنید و Memory را بین In use، Cached و Commit جدا بفهمید.

اول ستون را بفهم، بعد فرایند را متهم کن.

مدل ذهنی: سه منبع گیج‌کننده

  • CPU: زمان پردازش؛ ۱۰۰٪ روی یک هسته با ۸ هسته منطقی می‌تواند حدود ۱۲٪ کل باشد — به نمای کلی توجه کنید.
  • Memory: کار در حال استفاده، کش فایل، و Commit Charge؛ پر بودن ظاهری همیشه یعنی کمبود فیزیکی نیست.
  • Disk: گاهی «کندی» در واقع صف دیسک است نه CPU؛ ستون Disk را همزمان ببینید.

WSL2 و Docker اغلب به‌صورت Vmmem/VmmemWSL حافظه می‌گیرند؛ سقف را در .wslconfig بگذارید.

Task Manager به‌عنوان نقطهٔ شروع

  1. Ctrl+Shift+Esc.
  2. More details اگر نمای ساده است.
  3. Processes را روی CPU یا Memory مرتب کنید.
  4. روی فرایند راست‌کلیک → Go to details برای PID.
  5. تب Performance برای نمودار کلی CPU/Memory/Disk/GPU.

برای توسعه‌دهنده، دیدن نام سادهٔ «App» کافی نیست؛ Details و ستون Command line (قابل فعال‌سازی) نشان می‌دهد کدام پروژه یا runtime است.

Resource Monitor برای عمق

resmon را از Win+R اجرا کنید. تب CPU نشان می‌دهد کدام فرایند در حال اجراست و چه هندل/ماژولی دارد. تب Memory نقشهٔ Physical Memory را نشان می‌دهد. تب Disk مشخص می‌کند کدام فایل خوانده/نوشته می‌شود — برای پیدا کردن آنتی‌ویروس روی node_modules یا لاگ در حال رشد عالی است.

PowerShell: نمونه‌برداری تکرارپذیر

powershell

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU, WorkingSet64 Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 10 Name, Id, @{n='WS_MB';e={[math]::Round($_.WorkingSet64/1MB,1)}}

WorkingSet تقریبی از حافظهٔ فیزیکی در حال استفادهٔ فرایند است. برای پایش دوره‌ای می‌توانید در حلقه نمونه بگیرید و به CSV بنویسید تا ببینید آیا روند صعودی (نشتی مشکوک) دارید.

powershell

1..12 | ForEach-Object { $p = Get-Process -Name node -ErrorAction SilentlyContinue | Measure-Object WorkingSet64 -Sum [pscustomobject]@{ t = Get-Date; MB = [math]::Round(($p.Sum/1MB),1) } Start-Sleep 5 }

خواندن Memory بدون ترس

مفهوممعنانکته
In useحافظهٔ فعال فرایندها و سیستمبالا بودن با Cached فرق دارد
Availableتقریباً آماده برای تخصیصخیلی کم = فشار واقعی
Cachedکش فایل؛ قابل آزاد شدنپر بودن بد نیست
Commitتعهد حافظه مجازینزدیک حد = خطر

اگر Available پایین است و یک فرایند Working Set را بی‌وقفه بالا می‌برد، همان را هدف بگیرید. اگر Available مناسب است ولی سیستم کند است، Disk یا CPU تک‌نخ را بررسی کنید.

CPU: چند هسته و فرایندهای یاغی

بیلدهای موازی، کامپایلر، و index کردن IDE می‌توانند CPU را مشروع بالا ببرند. نشانهٔ مشکل: CPU بالا در بیکاری، یا یک فرایند پس‌زمینهٔ ناشناس پایدار. برای ارتباط با پورت و سرویس، PID را به Get-NetTCPConnection و Get-Service وصل کنید.

Performance Monitor وقتی نمودار ساده کافی نیست

perfmon شمارنده‌های دقیق مثل Processor Time، Working Set، و Disk Queue Length را در زمان ثبت می‌کند. برای بازتولید باگ کندی در یک بازهٔ مشخص، Data Collector Set سبک بسازید و بعد از بازتولید نتیجه را بخوانید. برای کار روزمرهٔ لپ‌تاپ، Task Manager و resmon معمولاً کافی‌اند.

الگوی تحقیق کندی بعد از ناهار

  1. Performance: CPU اشباع است یا Disk؟
  2. Processes: سه تای اول چه هستند؟
  3. اگر Vmmem است: WSL را shutdown یا سقف حافظه را کم کنید.
  4. اگر antimalware روی پوشهٔ پروژه است: استثنای سیاست‌شده یا جابه‌جایی پروژه.
  5. Event Viewer را برای خطاهای زمان شروع کندی ببینید.

نشتی حافظه در اپ خودتان

اگر فرایند شما Working Set را در طول جلسه بالا می‌برد و آزاد نمی‌کند، اول در خود اپ پروفایل کنید (dotnet-counters، clinic، browser memory و غیره). Task Manager فقط علامت می‌دهد؛ علت را در allocator و cache بدون حد پیدا می‌کنید. قبل از متهم کردن ویندوز، بیلد Release/Dev و تعداد watcherها را مقایسه کنید.

اشتباه‌های رایج

  • تفسیر ۱۰۰٪ یک هسته به‌عنوان ۱۰۰٪ کل سیستم بدون دیدن نمودار کلی.
  • ترس از Cached Memory و بستن اپ‌های بی‌گناه.
  • نادیده گرفتن Disk در تشخیص کندی.
  • کشتن فرایند سیستم به‌جای فهم سرویس.
  • خرید RAM قبل از دیدن اینکه CPU یا Disk گلوگاه است.

چه وقت عمیق‌تر بروید

وقتی کندی فقط در سناریوی خاص بازتولید می‌شود، وقتی مشکوک به نشتی در محصول خودتان هستید، یا وقتی ماشین سرور ویندوزی زیر بار تولید است. برای لپ‌تاپ شخصی با بیلد سنگین گاه‌به‌گاه، اول سقف WSL و Startup را درست کنید.

در کار روزمره روی ویندوز موضوع baselines / follow-up را با Get-Process CSV export, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines / follow-up را با Get-Process CSV export, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines / follow-up را با Get-Process CSV export, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines / follow-up را با Get-Process CSV export, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines / follow-up را با Get-Process CSV export, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع baselines را با Get-Process CSV export بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

پایهِ قبل/بعد

در کار روزمره روی ویندوز موضوع pressure types / follow-up را با Performance Monitor, Available Memory, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types / follow-up را با Performance Monitor, Available Memory, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types / follow-up را با Performance Monitor, Available Memory, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types / follow-up را با Performance Monitor, Available Memory, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types / follow-up را با Performance Monitor, Available Memory, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع pressure types را با Performance Monitor, Available Memory بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

CPU در برابر Memory

در کار روزمره روی ویندوز موضوع resource triage / follow-up را با Task Manager, .wslconfig, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage / follow-up را با Task Manager, .wslconfig, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage / follow-up را با Task Manager, .wslconfig, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage / follow-up را با Task Manager, .wslconfig, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage / follow-up را با Task Manager, .wslconfig, Microsoft Learn بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

در کار روزمره روی ویندوز موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. موضوع resource triage را با Task Manager, .wslconfig بررسی کنید، نتیجه را یادداشت کنید و بدون پایه سیستم را عوض نکنید. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد. اگر مشکل تکرار شد، زمان، PID و Event ID را ثبت کنید تا دفعه قابل استناد باشد.

IDE و مرورگر و Vmmem

خلاصه

تحلیل RAM و CPU در ویندوز با مشاهدهٔ همزمان نوع منبع، مرتب‌سازی فرایند، و درک Memory در برابر Disk شروع می‌شود. Task Manager برای شروع، Resource Monitor برای عمق فایل/هندل، PowerShell برای روند زمانی، و Performance Monitor برای نمونه‌برداری جدی. شواهد را قبل از خرید سخت‌افزار یا نصب ابزار مشکوک جمع کنید.

سوالات متداول

تفاوت Memory و Commit چیست؟

Memory فیزیکی در حال استفاده را粗 می‌گوید؛ Commit تعهد حافظه مجازی شامل صفحهٔ دیسک است. Commit نزدیک حد می‌تواند سیستم را ناپایدار کند حتی اگر نمودار Memory گمراه‌کننده باشد.

چرا بعد از بستن اپ حافظه سریع برنمی‌گردد؟

ویندوز کش و Standby را نگه می‌دارد تا بعداً سریع‌تر باشد. Available مهم‌تر از «خالی به نظر رسیدن» است.

Vmmem چیست؟

فرایند مرتبط با ماشین مجازی سبک WSL2/دیگر VMها. با wsl --shutdown یا سقف .wslconfig کنترل می‌شود.

آیا Get-Counter لازم است؟

برای اسکریپت‌های پایش پیشرفته بله؛ برای تشخیص روزمره اغلب Get-Process کافی است.

منابع و مراجع

  • Get-Process — Microsoft Learn: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process
  • Using Performance Monitor — Microsoft Learn: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/perfmon
  • Resource Monitor — Microsoft Support/Learn overview via Windows documentation hubs
  • WSL memory configuration — Microsoft Learn: https://learn.microsoft.com/en-us/windows/wsl/wsl-config

نویسنده

سا

سهیل ابراهیم‌پور بنیان‌گذار FutureForge است. روی طراحی محصول، معماری و استقرار نرم‌افزار سفارشی کار می‌کند.

یادداشت‌های مرتبط

یادداشت‌های مرتبط

دسته‌بندی‌ها

خدمات مرتبط

از یادداشت تا پروژه

اگر موضوع این مقاله به سیستم یا محصول شما نزدیک است، می‌توانیم درباره دامنه واقعی صحبت کنیم.

اگر در انتخاب معماری یا مسیر توسعه مطمئن نیستید، می‌توانید درباره پروژه صحبت کنیم.

مسئله و محدودیت را بنویسید. اگر تطابق داشته باشیم، برای گفتگو هماهنگ می‌کنیم.

سهیل ابراهیم‌پور
یادداشت‌ها
Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه
تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload
Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار
چرا همیشه به Kubernetes نیاز ندارید؟
Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

عملیات و استقرار

Logging چیست؟ ثبت رویداد برای تشخیص و پاسخ به حادثه

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

تعیین اندازهٔ سرور: RAM، CPU و Storage بر اساس Workload

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Docker در برابر Kubernetes؛ مقایسهٔ دقیق نه شعار

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

چرا همیشه به Kubernetes نیاز ندارید؟

۲۹ شهریور ۱۴۰۵

عملیات و استقرار

Kubernetes چیست؟ اجرای مقاوم workloadهای کانتینری

۲۹ شهریور ۱۴۰۵
همه یادداشت‌ها219
معماری نرم‌افزار13
واژه‌نامه37
عملیات و استقرار87
مهندسی محصول74
راهنمای وب8
طراحی و ساخت محصول
توسعه فول‌استک
ممیزی مهندسی
مشاوره معماری
زیرساخت و استقرار
پروژه‌تان را مطرح کنید
ابزارهای رایگان
پروژه‌تان را مطرح کنید