وقتی سیستم کند است، مقصر الزاماً CPU نیست
Bottleneck چیست؟ راهنمای جامع تشخیص گلوگاه CPU، GPU، RAM، SSD و سیستم خنک کننده
یکی از رایج ترین اشتباهات در عیب یابی Performance این است
که هر کندی سیستم را به CPU نسبت دهیم.
در حالی که یک پردازنده قدرتمند نیز ممکن است
به دلیل محدودیت GPU، RAM، Storage، دما، توان
یا حتی خود نرم افزار نتواند Performance مورد انتظار را ارائه کند.
برای تشخیص صحیح باید سیستم را
به عنوان مجموعه ای از اجزای وابسته به یکدیگر بررسی کنیم.
سرعت نهایی یک Workload فقط به سریع ترین قطعه وابسته نیست؛
بخشی که در آن شرایط زودتر به محدودیت می رسد
می تواند سرعت کل فرآیند را تعیین کند.
در این فصل چه چیزهایی یاد می گیریم؟
- Bottleneck دقیقاً چیست.
- چرا هر سیستم در شرایطی می تواند Bottleneck داشته باشد.
- چرا Bottleneck یک ویژگی ثابت سخت افزار نیست.
- CPU Bottleneck چیست.
- GPU Bottleneck چیست.
- Memory Bottleneck چیست.
- Storage Bottleneck چیست.
- Thermal Bottleneck چیست.
- Power Bottleneck چیست.
- VRAM Bottleneck چیست.
- Software Bottleneck چیست.
- چگونه با Utilization گلوگاه را پیدا کنیم.
- چرا 100 درصد نبودن CPU به معنی نبود CPU Bottleneck نیست.
- چگونه Bottleneck تک هسته ای را تشخیص دهیم.
- Frame Time چه اطلاعاتی درباره Gaming می دهد.
- چگونه گلوگاه را در نرم افزارهای مهندسی تشخیص دهیم.
- چگونه یک درخت تشخیص Bottleneck بسازیم.
Bottleneck چیست؟
معنی Bottleneck
Bottleneck
در فارسی معمولاً «گلوگاه» ترجمه می شود.در Performance کامپیوتر،
گلوگاه به بخشی از سیستم گفته می شود
که در یک Workload مشخص
ظرفیت آن زودتر از سایر بخش ها به محدودیت می رسد
و در نتیجه مانع افزایش بیشتر Performance می شود.
بطری ممکن است بدنه بزرگی داشته باشد،
اما سرعت خروج مایع
تا حد زیادی توسط قسمت باریک گردن بطری محدود می شود.
در سیستم کامپیوتری نیز ممکن است
چند قطعه بسیار سریع داشته باشیم،
اما یک بخش محدودتر
سرعت کل فرآیند را کاهش دهد.
Fast CPU
+
Fast RAM
+
Slow Storage
→
Storage-Limited Workload
نکته بنیادی: Bottleneck یک ویژگی ثابت سیستم نیست
نمی توان درباره یک لپ تاپ گفت:
«این سیستم همیشه CPU Bottleneck دارد»
بدون اینکه Workload مشخص شود.
همان دستگاه ممکن است:
- در یک بازی GPU-Limited باشد.
- در یک نرم افزار مهندسی CPU-Limited باشد.
- در باز کردن پروژه بزرگ RAM-Limited باشد.
- هنگام انتقال فایل Storage-Limited باشد.
- پس از چند دقیقه پردازش Thermal-Limited شود.
Bottleneck
=
Hardware
+
Software
+
Workload
+
Settings
+
Time
حتی تغییر تنظیمات یک نرم افزار
می تواند گلوگاه را
از یک قطعه به قطعه دیگر منتقل کند.
CPU Bottleneck چیست؟
CPU Bottleneck زمانی رخ می دهد
که Performance پردازنده
عامل محدود کننده اصلی
در Workload مورد نظر باشد.
در این حالت افزایش توان سایر قطعات
الزاماً افزایش قابل توجهی در Performance ایجاد نمی کند،
زیرا CPU نمی تواند داده یا دستور لازم را
با سرعت بیشتری پردازش کند.
نمونه های احتمالی:
- بازی با نرخ فریم بسیار بالا
- بعضی عملیات CAD
- بعضی مراحل Modeling
- محاسبات Single-Threaded
- Simulationهای وابسته به CPU
- Compilation
- پردازش داده
- بعضی Workloadهای مرورگر
آیا CPU باید 100 درصد باشد تا CPU Bottleneck داشته باشیم؟
خیر.
این یکی از مهم ترین نکات این فصل است.
فرض کنید یک CPU هشت Core دارد،
اما نرم افزار مورد نظر
عمدتاً از یک Core استفاده می کند.
یک Core می تواند تقریباً کاملاً اشباع شده باشد،
در حالی که Utilization کلی CPU
بسیار پایین تر از 100 درصد نمایش داده شود.
Utilization چیست؟
Utilization
یا «میزان استفاده»
نشان می دهد چه مقدار از ظرفیت یک منبع
در یک بازه زمانی مورد استفاده قرار گرفته است.CPU Utilization کلی
معمولاً ترکیبی از فعالیت تمام
Logical Processorها را نشان می دهد.
فرض کنید CPU دارای 8 Core باشد.
اگر Workload عمدتاً
روی یک Core اجرا شود:
Core 1 = 100%
Core 2–8 = Low Usage
CPU Usage کلی ممکن است
بسیار کمتر از 100 درصد باشد،
اما همان Thread اصلی
دیگر ظرفیت بیشتری ندارد.
بنابراین:
Total CPU Usage < 100%
≠
No CPU Bottleneck
Main Thread چیست؟
Main Thread
یا «رشته اصلی»
Thread مهمی در یک برنامه است
که بخشی از منطق اصلی اجرای نرم افزار
روی آن انجام می شود.اگر Main Thread به محدودیت Performance برسد،
اضافه بودن ظرفیت روی Coreهای دیگر
همیشه نمی تواند مشکل را حل کند.
GPU Bottleneck چیست؟
GPU Bottleneck زمانی رخ می دهد
که پردازنده گرافیکی
عامل اصلی محدود کننده Performance باشد.
این وضعیت در Gaming،
Rendering گرافیکی،
AI،
بعضی عملیات تدوین
و Workloadهای شتاب گرفته با GPU
رایج است.
یک نشانه احتمالی:
GPU Utilization ≈ Very High
در حالی که CPU هنوز
ظرفیت پردازشی قابل توجهی دارد.
اما Utilization بالا به تنهایی
برای تشخیص قطعی کافی نیست.
GPU-Bound چیست؟
GPU-Bound
یعنی Performance یک Workload
عمدتاً توسط ظرفیت GPU محدود شده است.
CPU-Bound چیست؟
CPU-Bound
یعنی Performance یک Workload
عمدتاً توسط CPU محدود شده است.
مثال: چرا تغییر Resolution می تواند گلوگاه را جابه جا کند؟
در Gaming،
افزایش Resolution معمولاً
بار بیشتری روی GPU ایجاد می کند.
1080p
→
1440p
→
4K
با افزایش تعداد Pixelهایی
که باید Render شوند،
GPU ممکن است بیشتر درگیر شود.
بنابراین یک سیستم می تواند
در Resolution پایین CPU-Limited
و در Resolution بالاتر GPU-Limited شود.
Pixel چیست؟
Pixel
یا «پیکسل»
یکی از کوچک ترین واحدهای تشکیل دهنده
تصویر دیجیتال روی نمایشگر است.Resolution بالاتر معمولاً
به معنی پردازش تعداد بیشتری Pixel در هر Frame است.
Frame چیست؟
Frame
یا «فریم»
یک تصویر کامل از مجموعه تصاویر متوالی
است که حرکت روی نمایشگر را ایجاد می کنند.
FPS چیست؟
FPS
مخفف Frames Per Second
و به معنی «تعداد فریم در ثانیه» است.برای مثال 60 FPS
یعنی تقریباً 60 Frame
در هر ثانیه تولید یا نمایش داده می شود.
Frame Time چیست و چرا از FPS مهم تر می شود؟
Frame Time چیست؟
Frame Time
یا «زمان تولید فریم»
مدت زمانی است که
تولید یک Frame طول می کشد.معمولاً با میلی ثانیه
یا ms بیان می شود.
دو سیستم ممکن است
Average FPS مشابهی داشته باشند،
اما تجربه کاربری آنها متفاوت باشد.
اگر Frame Time
نوسان زیادی داشته باشد،
حرکت ممکن است ناپایدار یا همراه با Stutter احساس شود.
Stutter چیست؟
Stutter
به مکث ها یا ناهماهنگی های کوتاه
در نمایش روان Frameها گفته می شود.Stutter می تواند دلایل مختلفی داشته باشد
و الزاماً فقط از CPU یا GPU ناشی نمی شود.
Memory Bottleneck یا گلوگاه RAM چیست؟
RAM می تواند از چند مسیر
Performance سیستم را محدود کند.
- ظرفیت ناکافی
- Bandwidth ناکافی
- Latency بالا
- Single Channel بودن
- Memory Frequency پایین
- رقابت چند Workload برای حافظه
ظرفیت کم RAM چگونه سیستم را کند می کند؟
اگر حافظه فیزیکی کافی نباشد،
سیستم عامل ممکن است
بخشی از داده ها را میان RAM و Storage جابه جا کند.
از آنجا که SSD
حتی اگر بسیار سریع باشد
معمولاً Latency بسیار بیشتری نسبت به RAM دارد،
این جابه جایی می تواند Performance را کاهش دهد.
Paging چیست؟
Paging
یکی از سازوکارهای مدیریت حافظه است
که در آن سیستم عامل
داده ها را در واحدهایی به نام Page مدیریت می کند.در شرایط کمبود RAM،
برخی Pageها ممکن است
به فضای ذخیره سازی منتقل شوند.
Memory Page چیست؟
Page
واحدی از حافظه مجازی است
که سیستم عامل برای مدیریت Memory
از آن استفاده می کند.
Swap چیست؟
Swap
اصطلاحی برای استفاده از بخشی از Storage
به عنوان فضای کمکی حافظه است.پیاده سازی دقیق این مفهوم
میان سیستم عامل ها متفاوت است.
Memory Bandwidth Bottleneck چیست؟
گاهی ظرفیت RAM کافی است،
اما سرعت انتقال داده میان CPU و حافظه
به محدودیت می رسد.
در Workloadهایی که
حجم زیادی داده جابه جا می کنند،
Memory Bandwidth می تواند
عامل مهمی در Performance باشد.
Bandwidth چیست؟
Bandwidth
یا «پهنای باند»
مقدار داده ای است
که در یک بازه زمانی
می تواند منتقل شود.Bandwidth بیشتر
به معنی امکان انتقال حجم بیشتری از داده
در واحد زمان است.
Latency چیست؟
Latency
یا «تأخیر»
مدت زمانی است که
از درخواست یک عملیات
تا شروع یا دریافت پاسخ آن سپری می شود.Bandwidth و Latency
دو مفهوم متفاوت هستند.
یک مسیر انتقال داده
می تواند Bandwidth بسیار بالایی داشته باشد
اما Latency آن نیز زیاد باشد.
به زبان ساده:
Bandwidth
=
How Much Data?
Latency
=
How Long To Wait?
هر دو می توانند
روی Performance سیستم اثر بگذارند.
Storage Bottleneck چیست؟
Storage زمانی می تواند
عامل محدود کننده باشد
که Workload منتظر خواندن یا نوشتن داده بماند.
نمونه ها:
- Boot سیستم عامل
- باز کردن پروژه های بزرگ
- Load فایل های حجیم
- انتقال فایل
- Paging سنگین
- کار با Database
- برخی مراحل تدوین ویدئو
I/O چیست؟
I/O
مخفف Input/Output
و به معنی «ورودی/خروجی» است.در Context ذخیره سازی،
I/O معمولاً به عملیات خواندن
و نوشتن داده اشاره دارد.
I/O-Bound چیست؟
I/O-Bound
یعنی سرعت Workload
بیشتر توسط عملیات ورودی/خروجی
محدود شده است تا قدرت محاسباتی CPU.
چرا تعویض HDD با SSD گاهی سیستم را «خیلی سریع تر» می کند بدون اینکه CPU تغییر کند؟
بسیاری از عملیات روزمره
فقط محاسبات CPU نیستند.
سیستم ممکن است مرتباً
منتظر Storage بماند.
اگر این انتظار کاهش پیدا کند،
Responsiveness سیستم
به شکل محسوسی بهتر می شود
حتی اگر CPU دقیقاً همان پردازنده قبلی باشد.
Responsiveness چیست؟
Responsiveness
یا «سرعت پاسخ گویی»
نشان می دهد سیستم
پس از فرمان کاربر
با چه سرعتی واکنش نشان می دهد.
VRAM Bottleneck چیست؟
در سیستم دارای GPU مجزا،
ظرفیت و رفتار حافظه گرافیکی
می تواند محدودیت ایجاد کند.
اگر Workload
به حافظه گرافیکی بیشتری
از ظرفیت مناسب موجود نیاز داشته باشد،
ممکن است Performance کاهش یابد
یا داده ها مجبور شوند
میان سطوح مختلف حافظه جابه جا شوند.
VRAM چیست؟
VRAM
یا Video Memory
حافظه ای است که GPU
برای نگهداری داده های مورد نیاز پردازش گرافیکی
از آن استفاده می کند.Texture،
Frame Buffer،
Geometry Data
و سایر داده های گرافیکی
می توانند در این حافظه قرار بگیرند.
Frame Buffer چیست؟
Frame Buffer
بخشی از حافظه است
که اطلاعات مربوط به Frameهای تصویری
برای پردازش یا نمایش
در آن نگهداری می شود.
Thermal Bottleneck چیست؟
گاهی سخت افزار از نظر معماری
توان Performance بیشتری دارد،
اما سیستم خنک کننده
نمی تواند شرایط لازم برای حفظ آن را فراهم کند.
در نتیجه:
Temperature ↑
→
Thermal Limit
→
Clock ↓
→
Performance ↓
این وضعیت مخصوصاً در لپ تاپ ها
اهمیت زیادی دارد.
Thermal Saturation چیست؟
Thermal Saturation
را می توان
«رسیدن سیستم خنک کننده به وضعیت حرارتی پایدار»
در نظر گرفت.پس از مدتی Load مداوم،
دما و توان دفع حرارت
ممکن است به نقطه ای نزدیک به تعادل برسند.
به همین دلیل تست طولانی
برای ارزیابی لپ تاپ
از تست چندثانیه ای اطلاعات بیشتری می دهد.
Power Bottleneck چیست؟
CPU یا GPU ممکن است
قبل از رسیدن به محدودیت دما،
به محدودیت توان برسد.
در این حالت سخت افزار
برای باقی ماندن در محدوده توان تعیین شده
Frequency یا Voltage خود را تنظیم می کند.
بنابراین:
Low Clock
≠
Always Thermal Problem
Power Budget چیست؟
Power Budget
یا «بودجه توان»
مقدار توانی است که
یک قطعه یا مجموعه ای از قطعات
در شرایط مشخص اجازه مصرف آن را دارند.
CPU و GPU چگونه برای توان رقابت می کنند؟
در لپ تاپ،
CPU و GPU کاملاً مستقل از
محدودیت های توان و حرارت دستگاه نیستند.
در بعضی طراحی ها،
افزایش مصرف یک بخش
می تواند فضای توان یا حرارتی
قابل استفاده برای بخش دیگر را کاهش دهد.
CPU قدرتمندتر روی کاغذ
زمانی ارزش دارد
که لپ تاپ بتواند
توان و حرارت لازم برای استفاده از آن را مدیریت کند.
Software Bottleneck چیست؟
همیشه سخت افزار مقصر نیست.
نرم افزار می تواند
به دلایل مختلف نتواند
از منابع سخت افزاری موجود استفاده کند.
- Parallelism محدود
- Optimization ضعیف
- محدودیت Engine نرم افزار
- Driver
- API
- Scheduler
- Background Process
- Bug
Software Optimization چیست؟
Optimization
یا «بهینه سازی»
در این Context
به طراحی و تغییر نرم افزار
برای استفاده مؤثرتر از منابع سخت افزاری گفته می شود.
Software Engine چیست؟
Engine
در بسیاری از نرم افزارها
به مجموعه بخش های اصلی پردازشی گفته می شود
که عملیات بنیادی برنامه را انجام می دهند.
Driver چیست؟
Driver
یا «راه انداز»
نرم افزاری است که
امکان ارتباط سیستم عامل
و نرم افزارها با سخت افزار
را فراهم می کند.
API چیست؟
API
مخفف Application Programming Interface
و به معنی «رابط برنامه نویسی کاربردی» است.API مجموعه ای از قواعد و رابط هاست
که امکان ارتباط
میان بخش های مختلف نرم افزار
یا نرم افزار و سرویس های دیگر را فراهم می کند.
Bottleneck Shift؛ چرا ارتقای یک قطعه گلوگاه را از بین نمی برد؟
فرض کنید GPU
گلوگاه اصلی یک سیستم است.
GPU را ارتقا می دهیم.
Performance افزایش پیدا می کند،
اما بعد از نقطه ای
CPU ممکن است به محدودیت برسد.
یعنی Bottleneck
لزوماً نابود نشده؛
فقط به بخش دیگری منتقل شده است.
Bottleneck Shift چیست؟
Bottleneck Shift
یا «جابجایی گلوگاه»
زمانی اتفاق می افتد که
با رفع یا کاهش یک محدودیت،
محدودیت دیگری به عامل اصلی Performance تبدیل شود.
چنین هدفی در عمل تعریف دقیقی ندارد.
تقریباً همیشه یک عامل
محدود کننده Performance وجود دارد.
هدف مهندسی بهتر این است:
گلوگاه سیستم در Workload مورد نظر
در جایی باشد که با بودجه و هدف کاربر منطقی است.
آیا Bottleneck Calculatorهای اینترنتی قابل اعتماد هستند؟
ابزارهایی که با وارد کردن
فقط مدل CPU و GPU
یک درصد ثابت مانند
«17 درصد Bottleneck»
اعلام می کنند،
نمی توانند تمام شرایط واقعی سیستم را مدل کنند.
زیرا Bottleneck به مواردی مانند:
- Workload
- Resolution
- Graphics Settings
- RAM
- Cooling
- Power Limit
- Software
- Driver
- هدف FPS
وابسته است.
عبارت هایی مانند
«این CPU برای این GPU دقیقاً 12 درصد Bottleneck دارد»
بدون مشخص کردن شرایط تست
از نظر فنی معنای محدودی دارند.
روش عملی تشخیص Bottleneck
برای پیدا کردن گلوگاه،
نباید فقط یک عدد را مشاهده کنیم.
باید رفتار چند منبع
هم زمان بررسی شود.
Workload را دقیق تعریف کنیدمشخص کنید کندی دقیقاً
در چه نرم افزار، پروژه یا مرحله ای رخ می دهد.
زمان وقوع مشکل را مشخص کنیدآیا سیستم از ابتدا کند است
یا بعد از چند دقیقه؟
CPU Usage کلی را بررسی کنیداما فقط به همین عدد اکتفا نکنید.
Usage هر Core / Thread را بررسی کنیدیک Thread اشباع شده
می تواند CPU Bottleneck ایجاد کند.
CPU Clock را بررسی کنیدآیا CPU Frequency مورد انتظار را حفظ می کند؟
CPU Temperature را بررسی کنیدThermal Limit را از Performance Limit جدا کنید.
GPU Utilization را بررسی کنیدمخصوصاً در Gaming، Rendering و Workloadهای GPU-Accelerated.
VRAM را بررسی کنیدفقط درصد GPU کافی نیست؛
مصرف حافظه گرافیکی نیز مهم است.
RAM Usage را بررسی کنیدظرفیت و رفتار Paging را بررسی کنید.
Storage Activity را بررسی کنیدActive Time، Latency و Transfer Rate
می توانند اطلاعات مهمی بدهند.
Power Limit را بررسی کنیدClock پایین ممکن است ناشی از محدودیت توان باشد.
یک متغیر را تغییر دهیدResolution، تنظیمات، RAM یا Power Profile
را تغییر دهید و اثر آن را مشاهده کنید.
نتیجه را دوباره اندازه گیری کنیداگر Performance تغییر کرد،
سرنخ مهمی درباره گلوگاه پیدا کرده اید.
Storage Active Time چیست؟
Active Time
نشان می دهد Storage
چه میزان از زمان
درگیر پاسخ دادن به درخواست های I/O است.Active Time بالا
به تنهایی برای تشخیص قطعی گلوگاه کافی نیست
و باید همراه با Latency،
Transfer Rate و نوع Workload بررسی شود.
Transfer Rate چیست؟
Transfer Rate
یا «نرخ انتقال»
مقدار داده ای است
که در یک بازه زمانی
خوانده یا نوشته می شود.
روش تغییر متغیر؛ یکی از قوی ترین روش های تشخیص گلوگاه
فقط نگاه کردن به نمودارها
همیشه کافی نیست.
گاهی بهترین روش این است
که یک متغیر را عمداً تغییر دهیم
و نتیجه را اندازه گیری کنیم.
مثال Gaming:
Lower Resolution
→
GPU Work ↓
اگر FPS تقریباً تغییر نکند،
احتمال اینکه GPU
تنها عامل محدود کننده باشد کمتر می شود.
اگر FPS به شکل محسوسی افزایش یابد،
محدودیت GPU می تواند
نقش مهم تری داشته باشد.
این روش از یک عدد ثابت
اطلاعات بسیار بیشتری ارائه می دهد.
Controlled Variable چیست؟
Controlled Variable
یا «متغیر کنترل شده»
متغیری است که در یک آزمایش
ثابت نگه داشته می شود
تا اثر تغییر عامل دیگر بهتر مشخص شود.
مثال واقعی: تشخیص Bottleneck در AutoCAD
فرض کنید کاربر هنگام کار
با یک Drawing پیچیده
احساس کند بعضی عملیات کند هستند.
اولین نتیجه نباید این باشد:
«RAM بیشتری لازم است»
یا
«GPU ضعیف است».
باید مشخص شود
کدام عملیات کند است.
بعضی عملیات تعاملی
ممکن است بیشتر به Performance یک Thread
وابسته باشند،
در حالی که عملیات دیگر
رفتار متفاوتی دارند.
بنابراین باید هم زمان بررسی شود:
- Per-Core CPU Usage
- GPU Usage
- RAM Usage
- Storage Activity
- Clock
- Temperature
مثال واقعی: Revit
در Revit نیز
تمام مراحل یک پروژه
الزاماً رفتار پردازشی یکسانی ندارند.
Modeling،
باز کردن پروژه،
بعضی محاسبات،
Rendering
و نمایش View
می توانند منابع متفاوتی را درگیر کنند.
بنابراین عبارت
«Revit CPU محور است»
اگر بدون مشخص کردن عملیات استفاده شود،
بیش از حد ساده سازی شده است.
مثال واقعی: Rendering
ابتدا باید مشخص شود
Renderer مورد استفاده چیست
و Rendering روی کدام سخت افزار انجام می شود.
CPU Renderer
→
CPU Performance Important
GPU Renderer
→
GPU + VRAM Important
بنابراین حتی عبارت
«سیستم رندر»
بدون مشخص کردن Render Engine
اطلاعات کافی برای انتخاب سخت افزار نمی دهد.
Render Engine چیست؟
Render Engine
یا «موتور رندر»
بخش نرم افزاری است
که محاسبات لازم برای تولید تصویر نهایی
را انجام می دهد.موتورهای مختلف
می توانند از CPU،
GPU
یا ترکیبی از آنها استفاده کنند.
مثال واقعی: برنامه نویسی و Compilation
در پروژه های نرم افزاری بزرگ،
Build Time ممکن است
تحت تأثیر چند عامل قرار گیرد:
- Single-Core Performance
- Core Count
- RAM Capacity
- Memory Performance
- Storage
- Build System
- Parallel Compilation
Build Time چیست؟
Build Time
مدت زمانی است که
فرآیند تبدیل Source Code
و اجزای پروژه
به خروجی قابل اجرا یا قابل استفاده طول می کشد.
چه چیزهایی ممکن است شبیه Bottleneck سخت افزاری به نظر برسند؟
- Driver خراب یا نامناسب
- Windows Update
- Antivirus Scan
- Background Application
- Power Saving Mode
- Battery Mode
- آداپتور نامناسب
- Firmware قدیمی یا تنظیمات نامناسب
- مشکل نرم افزار
- خرابی Storage
- کمبود فضای آزاد Storage
- Malware
Malware چیست؟
Malware
یا «بدافزار»
نرم افزاری است که
با هدف مخرب یا ناخواسته
روی سیستم فعالیت می کند.بعضی بدافزارها
می توانند منابع CPU،
RAM،
Network
یا Storage را مصرف کنند
و باعث کاهش Performance شوند.
جدول تشخیص سریع گلوگاه
| نشانه | گلوگاه احتمالی | چه چیزی بررسی شود؟ |
|---|---|---|
| یک Core نزدیک اشباع | CPU Single-Thread | Per-Core Usage و Clock |
| تمام Coreها شدیداً درگیر | CPU Multi-Core | CPU Usage، Clock و Temperature |
| GPU دائماً بسیار درگیر | GPU | GPU Usage، Clock، Power و VRAM |
| VRAM نزدیک ظرفیت | Video Memory | VRAM Usage و تنظیمات Workload |
| RAM تقریباً پر | Memory Capacity | RAM Usage و Paging |
| Storage Latency بالا | Storage | Active Time، I/O و سلامت Drive |
| Performance بعد از چند دقیقه افت می کند | Thermal / Power | Temperature، Clock و Power Limit |
| CPU و GPU هر دو کم استفاده می شوند | Software / Single Thread / I/O / Limit | Threadها، Storage، FPS Cap و Software |
FPS Cap چیست؟
FPS Cap
یا «محدودیت نرخ فریم»
سقفی است که
برای تعداد Frame تولید شده در هر ثانیه
تعیین می شود.اگر FPS عمداً محدود شده باشد،
پایین بودن Utilization
الزاماً نشانه مشکل Performance نیست.
درخت تشخیص Bottleneck
Performance Problem
↓
Define Exact Workload
↓
Check CPU Per-Core Usage
↓
Check GPU Usage
↓
Check RAM Capacity
↓
Check Storage I/O
↓
Check Temperature
↓
Check Clock
↓
Check Power Limits
↓
Change One Variable
↓
Re-Test
↓
Identify Limiting Resource
Bottleneck چه تأثیری روی انتخاب لپ تاپ دارد؟
هدف خرید نباید
جمع کردن قوی ترین قطعات ممکن باشد.
هدف بهتر،
انتخاب یک سیستم متعادل
برای Workload مورد نظر است.
برای مثال اگر نرم افزار شما
به GPU قدرتمند نیاز ندارد،
پرداخت بخش بزرگی از بودجه
برای GPU بسیار قوی
ممکن است نسبت به CPU،
RAM یا SSD بهتر
ارزش کمتری ایجاد کند.
برعکس،
برای GPU Rendering
خرید CPU بسیار گران
همراه با GPU ضعیف
ممکن است انتخاب مناسبی نباشد.
Balanced System چیست؟
Balanced System
یا «سیستم متعادل»
سیستمی است که
منابع سخت افزاری آن
متناسب با Workload و بودجه کاربر انتخاب شده باشند.تعادل به معنی برابر بودن قدرت تمام قطعات نیست؛
بلکه به معنی تناسب آنها با نیاز واقعی است.
اگر Workload توسط CPU محدود شده باشد،
ارتقای SSD از یک مدل سریع
به مدل بسیار سریع تر
ممکن است Performance آن Workload را
تقریباً تغییر ندهد.
اگر Workload توسط GPU محدود شده باشد،
افزایش RAM از 32GB به 64GB
در شرایطی که 32GB کاملاً کافی بوده
ممکن است FPS را افزایش ندهد.
ابتدا Bottleneck را پیدا کنید؛
سپس برای ارتقا هزینه کنید.
- نسبت دادن هر کندی به CPU.
- نگاه کردن فقط به CPU Usage کلی.
- نادیده گرفتن Usage تک Coreها.
- اعتماد به درصد ثابت Bottleneck Calculatorها.
- نادیده گرفتن Temperature.
- نادیده گرفتن Power Limit.
- نادیده گرفتن RAM Capacity.
- نادیده گرفتن Memory Bandwidth.
- نادیده گرفتن Storage Latency.
- نادیده گرفتن VRAM.
- نادیده گرفتن Driver و Software.
- تغییر چند متغیر به صورت هم زمان هنگام تست.
- استفاده از یک Benchmark برای تمام Workloadها.
- فرض اینکه 100 درصد Utilization همیشه نشانه مشکل است.
- فرض اینکه Utilization پایین همیشه یعنی سخت افزار اضافی داریم.
سوالات متداول Bottleneck و گلوگاه سیستم
سوالات متداول Bottleneck و گلوگاه سیستم
Bottleneck چیست؟
Bottleneck یا گلوگاه
بخشی از سیستم است که
در یک Workload مشخص
عامل محدود کننده اصلی Performance می شود.
آیا Bottleneck بد است؟
وجود یک عامل محدود کننده طبیعی است.
مسئله زمانی مهم می شود
که گلوگاه با هدف و بودجه سیستم
تناسب نداشته باشد.
چگونه بفهمیم CPU گلوگاه است؟
باید Usage هر Core،
Clock،
Temperature،
GPU Usage،
RAM،
Storage
و رفتار Workload
هم زمان بررسی شوند.
آیا CPU باید 100 درصد باشد تا گلوگاه باشد؟
خیر.
ممکن است فقط یک Thread
یا تعداد محدودی Core
به محدودیت رسیده باشند.
GPU Usage صد درصد یعنی GPU Bottleneck داریم؟
می تواند نشانه مهمی باشد،
اما برای نتیجه گیری قطعی
باید Clock، Power،
VRAM، Frame Time
و Workload نیز بررسی شوند.
RAM کم می تواند CPU را کند نشان دهد؟
بله.
کمبود RAM می تواند Paging را افزایش دهد
و سیستم زمان بیشتری منتظر Storage بماند.
SSD می تواند Bottleneck باشد؟
بله.
مخصوصاً در Workloadهای I/O محور،
بارگذاری داده،
انتقال فایل
یا Paging سنگین.
آیا دمای بالا Bottleneck ایجاد می کند؟
اگر محدودیت حرارتی باعث کاهش Clock یا Power شود،
Performance می تواند کاهش پیدا کند.
آیا Bottleneck Calculatorهای آنلاین دقیق هستند؟
یک درصد ثابت نمی تواند
تمام Workloadها، تنظیمات،
Resolution، RAM،
Cooling و شرایط واقعی سیستم را توصیف کند.
آیا با ارتقای CPU تمام Bottleneckها حل می شوند؟
خیر.
گلوگاه ممکن است
به GPU، RAM، Storage
یا بخش دیگری منتقل شود.
برای Gaming CPU مهم تر است یا GPU؟
به بازی، Resolution،
تنظیمات گرافیکی
و FPS هدف بستگی دارد.
هیچ پاسخ یکسانی برای تمام بازی ها وجود ندارد.
برای نرم افزارهای مهندسی چگونه گلوگاه را تشخیص دهیم؟
ابتدا عملیات دقیق را مشخص کنید،
سپس CPU Per-Core،
GPU، RAM، Storage،
Clock و Temperature
را هنگام همان عملیات بررسی کنید.
اصطلاحات جدید این فصل
- Bottleneck: گلوگاه یا عامل محدود کننده Performance.
- Utilization: میزان استفاده از ظرفیت یک منبع.
- Main Thread: رشته اصلی اجرای بخشی از برنامه.
- CPU-Bound: Workload محدود شده توسط CPU.
- GPU-Bound: Workload محدود شده توسط GPU.
- Pixel: واحد کوچک تشکیل دهنده تصویر دیجیتال.
- Frame: یک تصویر از مجموعه تصاویر متوالی.
- FPS: تعداد Frame در ثانیه.
- Frame Time: زمان لازم برای تولید یک Frame.
- Stutter: ناپیوستگی یا مکث کوتاه در نمایش Frameها.
- Paging: مدیریت و جابه جایی Pageهای حافظه.
- Memory Page: واحد مدیریت حافظه مجازی.
- Swap: استفاده از Storage به عنوان فضای کمکی حافظه.
- Bandwidth: حجم داده قابل انتقال در واحد زمان.
- Latency: تأخیر میان درخواست و پاسخ.
- I/O: عملیات ورودی و خروجی.
- I/O-Bound: Workload محدود شده توسط ورودی/خروجی.
- Responsiveness: سرعت پاسخ گویی سیستم.
- VRAM: حافظه مورد استفاده GPU.
- Frame Buffer: حافظه مرتبط با نگهداری داده Frameها.
- Thermal Saturation: رسیدن سیستم به وضعیت حرارتی نسبتاً پایدار زیر Load.
- Power Budget: بودجه یا محدوده توان قابل استفاده.
- Optimization: بهینه سازی استفاده از منابع.
- Driver: راه انداز ارتباط سیستم عامل با سخت افزار.
- API: رابط برنامه نویسی کاربردی.
- Bottleneck Shift: انتقال عامل محدود کننده به بخش دیگر.
- Active Time: میزان زمان درگیری Storage با عملیات.
- Transfer Rate: نرخ انتقال داده.
- Controlled Variable: متغیری که برای آزمایش کنترل می شود.
- Render Engine: موتور محاسباتی تولید تصویر.
- Build Time: مدت زمان ساخت خروجی یک پروژه نرم افزاری.
- Malware: بدافزار.
- FPS Cap: سقف تعیین شده برای نرخ فریم.
- Balanced System: سیستم متناسب با Workload و بودجه.
خلاصه فصل
Bottleneck یک درصد ثابت
یا ویژگی دائمی یک CPU نیست.
گلوگاه باید در Context
یک Workload مشخص شناسایی شود.
Slow System
≠
Slow CPU
برای تشخیص صحیح باید
CPU،
GPU،
RAM،
VRAM،
Storage،
Temperature،
Clock،
Power
و Software
در کنار یکدیگر بررسی شوند.
همچنین CPU Usage کلی
نباید به تنهایی ملاک قرار گیرد؛
زیرا اشباع یک Main Thread
می تواند حتی در CPU Usage کلی پایین
گلوگاه ایجاد کند.
روش حرفه ای تشخیص:
Observe
→
Form Hypothesis
→
Change One Variable
→
Measure Again
→
Identify Bottleneck
یعنی:
مشاهده کن، علت احتمالی را مشخص کن،
فقط یک متغیر را تغییر بده،
دوباره اندازه گیری کن
و سپس درباره عامل محدود کننده تصمیم بگیر.
عدد Benchmark بدون روش آزمایش، فقط یک عدد است
علم Benchmark پردازنده؛ چگونه Performance واقعی CPU را درست اندازه گیری و تفسیر کنیم؟
Benchmark یکی از مهم ترین ابزارهای مقایسه پردازنده هاست،
اما فقط زمانی ارزش دارد که بدانیم چه چیزی اندازه گیری شده،
تست چگونه اجرا شده، شرایط دو سیستم چقدر مشابه بوده
و نتیجه دقیقاً چه معنایی دارد.
دو عدد Benchmark ممکن است در ظاهر قابل مقایسه باشند،
اما تفاوت در RAM، سیستم خنک کننده، Power Limit،
نسخه نرم افزار، سیستم عامل، دمای محیط
یا حتی مدت زمان اجرای تست
می تواند نتیجه را تغییر دهد.
بنابراین هدف این فصل حفظ کردن امتیاز چند Benchmark نیست.
هدف، یادگیری روش فکر کردن درباره Benchmark است.
در این فصل چه چیزهایی یاد می گیریم؟
- Benchmark چیست و چه چیزی را اندازه گیری می کند.
- تفاوت Synthetic Benchmark و Real-World Benchmark.
- تفاوت Single-Core و Multi-Core Benchmark.
- تفاوت Score، Time، Throughput و Latency.
- چرا عدد بزرگ تر همیشه بهتر نیست.
- Average، Median، Minimum و Maximum چیست.
- Variance و Standard Deviation چه مفهومی دارند.
- Run-to-Run Variation چیست.
- Outlier چیست و چگونه نتیجه را خراب می کند.
- Warm-up و Cold Run چه تفاوتی دارند.
- چرا Benchmark باید چند بار تکرار شود.
- Thermal Saturation چگونه نتیجه تست لپ تاپ را تغییر می دهد.
- Benchmark Burst و Sustained چه تفاوتی دارند.
- چگونه دو لپ تاپ را منصفانه Benchmark کنیم.
- چگونه نمودار Benchmark را درست بخوانیم.
- چگونه درصد اختلاف Performance را محاسبه کنیم.
- چرا اختلاف Benchmark همیشه برابر اختلاف تجربه کاربری نیست.
- چگونه Benchmark مرتبط با Workload خودمان را انتخاب کنیم.
Benchmark چیست؟
معنی Benchmark
Benchmark
در سخت افزار به آزمون یا مجموعه ای از آزمون ها گفته می شود
که برای اندازه گیری Performance یک سیستم یا قطعه
تحت شرایط مشخص طراحی شده اند.Benchmark می تواند CPU،
GPU،
RAM،
Storage
یا کل سیستم را ارزیابی کند.
یک Benchmark خوب باید به یک سوال مشخص پاسخ دهد.
برای مثال:
- این CPU یک Thread را با چه سرعتی اجرا می کند؟
- در پردازش Multi-Core چه مقدار Throughput دارد؟
- یک پروژه مشخص در چند ثانیه Compile می شود؟
- یک Scene در چه مدت Render می شود؟
- CPU در پردازش داده مشخص چه مقدار عملیات انجام می دهد؟
Benchmark Score چیست؟
Score چیست؟
Score
یا «امتیاز»
عددی است که Benchmark
بر اساس روش داخلی خود
از Performance سیستم تولید می کند.Score لزوماً یک واحد فیزیکی مانند
ثانیه یا وات نیست.
امتیاز 12000 در یک Benchmark
الزاماً هیچ ارتباط مستقیمی
با امتیاز 12000 در Benchmark دیگری ندارد.
Score فقط در چهارچوب
روش اندازه گیری همان Benchmark
معنا پیدا می کند.
آیا عدد بزرگ تر همیشه بهتر است؟
خیر.
ابتدا باید بدانیم
Benchmark چه چیزی گزارش می کند.
| معیار | معنی | معمولاً بهتر |
|---|---|---|
| Score | امتیاز Performance | بیشتر |
| Operations / Second | عملیات انجام شده در ثانیه | بیشتر |
| Frames / Second | فریم تولید شده در ثانیه | بیشتر |
| Render Time | زمان تکمیل رندر | کمتر |
| Compile Time | زمان تکمیل کامپایل | کمتر |
| Latency | زمان انتظار | کمتر |
Throughput چیست؟
Throughput
یا «نرخ انجام کار»
نشان می دهد سیستم
در یک بازه زمانی
چه مقدار کار می تواند انجام دهد.
Throughput
=
Amount of Work / Time
Latency چیست؟
Latency
یا «تأخیر»
مدت زمانی است که
انجام یا پاسخ به یک عملیات طول می کشد.Throughput و Latency
دو معیار متفاوت هستند.
یک سیستم ممکن است بتواند
حجم زیادی از کار را در مجموع انجام دهد،
اما پاسخ به یک درخواست منفرد
همچنان زمان بیشتری ببرد.
Throughput
→
How Much Work?
Latency
→
How Long For One Result?
به همین دلیل باید بدانیم
Workload ما به کدام معیار حساس تر است.
Synthetic Benchmark در برابر Real-World Benchmark
| ویژگی | Synthetic | Real-World |
|---|---|---|
| هدف | اندازه گیری کنترل شده | اندازه گیری کاربرد واقعی |
| تکرارپذیری | معمولاً بالا | می تواند پیچیده تر باشد |
| کنترل متغیرها | معمولاً بهتر | گاهی دشوارتر |
| ارتباط با کار واقعی | وابسته به تست | معمولاً مستقیم تر |
| مقایسه معماری | مفید | مفید |
| تصمیم خرید | بخشی از شواهد | اغلب بسیار مهم |
Real-World Benchmark چیست؟
Real-World Benchmark
یا «بنچمارک مبتنی بر کاربرد واقعی»
Performance را با استفاده از
نرم افزار، پروژه یا عملیات نزدیک به استفاده واقعی کاربر
اندازه گیری می کند.
اشتباه دیگری نیز وجود دارد:
اینکه تمام Benchmarkهای مصنوعی را بی ارزش بدانیم.
تست مصنوعی می تواند
برای جداسازی و اندازه گیری
یک ویژگی مشخص سخت افزار بسیار مفید باشد.
مسئله این است که
نتیجه آن نباید بدون Context
به تمام نرم افزارهای واقعی تعمیم داده شود.
Single-Core Benchmark و Multi-Core Benchmark چه تفاوتی دارند؟
Single-Core Benchmark
تلاش می کند Performance
با استفاده از یک Core یا Thread اصلی را اندازه گیری کند.
Multi-Core Benchmark
تلاش می کند از چند Core یا Thread
به صورت هم زمان استفاده کند.
| Benchmark | بیشتر تحت تأثیر |
|---|---|
| Single-Core | IPC، Clock، Architecture، Cache و Latency |
| Multi-Core | موارد بالا + تعداد Core، Thread، Power و Cooling |
Multi-Core Scaling را چگونه بررسی کنیم؟
می توان بررسی کرد
Performance چند هسته ای
نسبت به Performance تک هسته ای
چه مقدار افزایش یافته است.
اما این نسبت نباید
به عنوان یک فرمول جهانی استفاده شود،
زیرا Benchmarkها رفتار متفاوتی دارند.
Multi-Core Performance
≠
Single-Core Performance × Core Count
محدودیت توان،
Clock،
Thread Scheduling،
بخش های سریال برنامه
و اشتراک منابع
مانع Scaling کاملاً خطی می شوند.
چرا یک Benchmark را باید چند بار اجرا کرد؟
اجرای یک بار تست
ممکن است نماینده واقعی Performance سیستم نباشد.
عوامل مختلف می توانند نتیجه یک Run را تغییر دهند:
- Background Process
- Temperature
- Boost Behavior
- Power Management
- Cache State
- Operating System Activity
- Benchmark Variation
Run چیست؟
Run
در Benchmark
به یک بار اجرای کامل آزمون گفته می شود.
Run-to-Run Variation چیست؟
Run-to-Run Variation
یا «تغییر نتیجه میان اجراهای مختلف»
به اختلاف طبیعی نتایج
میان چند بار اجرای یک Benchmark گفته می شود.
فرض کنید پنج بار تست انجام داده ایم:
Run 1 = 100
Run 2 = 101
Run 3 = 99
Run 4 = 100
Run 5 = 114
نتیجه پنجم با سایر نتایج
اختلاف قابل توجهی دارد.
به جای انتخاب دلخواه بهترین یا بدترین عدد،
باید علت اختلاف بررسی شود
و از روش آماری مناسب استفاده کنیم.
Average چیست؟
Average / Mean
Average
یا Mean
به معنی «میانگین حسابی» است.مجموع مقادیر
بر تعداد مقادیر تقسیم می شود.
Mean
=
Sum of Values / Number of Values
Median چیست و چرا گاهی از Average مفیدتر است؟
Median چیست؟
Median
یا «میانه»
مقدار وسط مجموعه داده
پس از مرتب کردن اعداد است.Median نسبت به مقادیر بسیار غیرعادی
معمولاً حساسیت کمتری از Mean دارد.
Outlier چیست؟
Outlier چیست؟
Outlier
یا «داده پرت»
مقداری است که
فاصله قابل توجهی
با الگوی معمول سایر داده ها دارد.وجود Outlier الزاماً به معنی
اشتباه بودن داده نیست.
ابتدا باید علت آن بررسی شود.
حذف Outlier باید
بر اساس روش مشخص و قابل دفاع انجام شود،
نه برای رسیدن به نتیجه دلخواه.
ممکن است مقدار غیرعادی
نشانه یک مشکل واقعی مانند
Thermal Throttling
یا Background Activity باشد.
Variance چیست؟
Variance چیست؟
Variance
یا «واریانس»
یک معیار آماری برای توصیف
میزان پراکندگی داده ها
در اطراف میانگین است.Variance بیشتر
معمولاً نشان دهنده پراکندگی بیشتر نتایج است.
Standard Deviation چیست؟
Standard Deviation
یا «انحراف معیار»
یکی دیگر از معیارهای پراکندگی داده هاست
و از ریشه دوم Variance به دست می آید.به زبان ساده،
کمک می کند بفهمیم نتایج
چقدر در اطراف مقدار متوسط پراکنده شده اند.
فرض کنید Laptop A
در اولین Run امتیاز بسیار بالایی کسب کند
اما در اجراهای بعدی افت زیادی داشته باشد.
Laptop B ممکن است
Peak Performance کمی پایین تری داشته باشد،
اما Performance خود را
در تمام Runها بهتر حفظ کند.
برای Rendering،
Compilation،
Simulation
و Workloadهای طولانی،
رفتار Laptop B می تواند ارزش بیشتری داشته باشد.
Peak Performance چیست؟
Peak Performance
یا «اوج عملکرد»
بالاترین سطح Performance
قابل دستیابی در شرایط مشخص است.Peak Performance الزاماً
برای مدت طولانی قابل حفظ نیست.
Sustained Performance چیست؟
Sustained Performance
یا «عملکرد پایدار»
سطح Performanceای است
که سیستم می تواند
در Load طولانی تر حفظ کند.
Burst Performance چیست؟
Burst Performance
یا «عملکرد کوتاه مدت»
توان سیستم برای ارائه Performance بالا
در یک بازه زمانی کوتاه است.
Short Benchmark
→
Burst Performance
Long Benchmark
→
Thermal Saturation
+
Power Limits
→
Sustained Performance
به همین دلیل
یک تست 20 ثانیه ای
نمی تواند همیشه رفتار CPU
در یک رندر 40 دقیقه ای را پیش بینی کند.
Warm-up چیست؟
Warm-up Run چیست؟
Warm-up Run
اجرای اولیه ای است
که پیش از اندازه گیری اصلی انجام می شود
تا سیستم یا نرم افزار
به شرایط عملیاتی مورد نظر نزدیک شود.بسته به نوع Benchmark،
Warm-up می تواند
رفتار Cache،
JIT Compilation،
Temperature
یا سایر عوامل را تغییر دهد.
JIT Compilation چیست؟
JIT
مخفف Just-In-Time Compilation
یا «کامپایل در زمان اجرا» است.در برخی محیط های نرم افزاری،
بخشی از کد هنگام اجرای برنامه
به شکل مناسب برای اجرا ترجمه یا بهینه می شود.
به همین دلیل Run اول
می تواند با Runهای بعدی تفاوت داشته باشد.
Cold Run چیست؟
Cold Run
به اجرای تست در شرایطی گفته می شود
که برخی داده ها یا منابع مورد نیاز
هنوز در Cache یا وضعیت آماده قبلی قرار ندارند.تعریف دقیق Cold Run
به نوع Benchmark بستگی دارد.
Hot / Warm Run چیست؟
در یک Warm Run
یا در برخی Contextها Hot Run،
بخشی از داده ها، Cacheها
یا محیط اجرای نرم افزار
ممکن است از اجرای قبلی آماده باشند.
بنابراین Cold و Warm
می توانند دو سناریوی متفاوت
از Performance را اندازه گیری کنند.
Cache چگونه Benchmark را تغییر می دهد؟
اگر داده مورد نیاز Benchmark
در Cache موجود باشد،
دسترسی می تواند سریع تر از حالتی باشد
که داده باید از سطح پایین تر حافظه دریافت شود.
بنابراین بعضی Benchmarkها
عمداً Working Set خود را تغییر می دهند
تا رفتار Cache را بررسی کنند.
Working Set چیست؟
Working Set
یا «مجموعه کاری»
مجموعه داده ها و بخش هایی از حافظه است
که یک برنامه در یک بازه زمانی
به طور فعال از آنها استفاده می کند.
شرایط یک Benchmark منصفانه چیست؟
برای مقایسه دو CPU،
تا حد امکان باید متغیرهای غیرضروری کنترل شوند.
| متغیر | چرا مهم است؟ |
|---|---|
| نسخه Benchmark | نسخه های مختلف ممکن است روش تست متفاوتی داشته باشند |
| Operating System | Scheduler و سرویس های سیستم می توانند متفاوت باشند |
| Power Mode | می تواند Clock و Power Limit را تغییر دهد |
| AC / Battery | لپ تاپ ممکن است رفتار توانی متفاوتی داشته باشد |
| RAM Capacity | کمبود RAM می تواند نتیجه را تغییر دهد |
| RAM Configuration | Channel و Frequency روی Performance اثر دارند |
| Cooling | Performance پایدار را تغییر می دهد |
| Temperature | Boost و Throttling را تحت تأثیر قرار می دهد |
| Background Tasks | منابع CPU، RAM و Storage را مصرف می کنند |
| Software Version | Optimization ممکن است تغییر کرده باشد |
| Driver | در Workloadهای مرتبط می تواند Performance را تغییر دهد |
| Test Duration | Burst و Sustained Performance را تغییر می دهد |
چرا Benchmark CPU لپ تاپ دشوارتر از چیزی است که به نظر می رسد؟
در لپ تاپ،
CPU را نمی توان کاملاً جدا از دستگاه بررسی کرد.
همان مدل پردازنده
ممکن است در دو لپ تاپ
Performance متفاوتی داشته باشد.
علت می تواند شامل موارد زیر باشد:
- Cooling متفاوت
- Power Limit متفاوت
- Firmware متفاوت
- RAM متفاوت
- Chassis متفاوت
- Fan Profile متفاوت
- Temperature Target متفاوت
Fan Profile چیست؟
Fan Profile
یا «الگوی کنترل فن»
مشخص می کند فن دستگاه
در دماها و شرایط مختلف
چگونه سرعت خود را تغییر دهد.
Temperature Target چیست؟
Temperature Target
یا «دمای هدف»
محدوده ای است که
سیستم مدیریت توان و حرارت
تلاش می کند رفتار سخت افزار را
حول آن کنترل کند.
Benchmark Loop چیست؟
Benchmark Loop
Loop
یا «اجرای حلقه ای»
یعنی Benchmark
چند بار پشت سر هم اجرا شود.این روش برای مشاهده
افت Performance در طول زمان
بسیار مفید است.
فرض کنید نتیجه Runها چنین باشد:
100
→
98
→
93
→
88
→
87
→
87
این الگو نشان می دهد
سیستم در ابتدا Performance بیشتری ارائه کرده
و سپس به سطح پایین تری رسیده است.
باید بررسی شود
آیا دلیل آن Thermal Saturation،
Power Limit
یا عامل دیگری بوده است.
Steady State چیست؟
Steady State
یا «حالت نسبتاً پایدار»
شرایطی است که
پس از گذشت دوره اولیه،
رفتار سیستم به محدوده نسبتاً ثابتی می رسد.در تست لپ تاپ،
Performance در Steady State
می تواند برای Workloadهای طولانی
مهم تر از نتیجه اولیه باشد.
اختلاف Performance را چگونه به درصد تبدیل کنیم؟
اگر معیار از نوع
«عدد بیشتر بهتر است» باشد،
می توان اختلاف CPU B نسبت به CPU A را
به صورت زیر محاسبه کرد:
Performance Gain (%)
=
((B – A) / A) × 100
مثال:
CPU A = 1000
CPU B = 1250
((1250 – 1000) / 1000) × 100
=
25%
بنابراین CPU B
در همان Benchmark
25 درصد امتیاز بیشتری کسب کرده است.
در Benchmarkهای زمان محور چگونه مقایسه کنیم؟
در تستی مانند Render Time
عدد کمتر بهتر است.
فرض کنید:
CPU A = 100 seconds
CPU B = 80 seconds
CPU B کار را 20 ثانیه زودتر تمام کرده است،
اما باید میان
«کاهش زمان»
و
«افزایش نرخ انجام کار»
تفاوت قائل شویم.
Speedup چیست؟
Speedup
یا «ضریب افزایش سرعت»
نسبت زمان اجرای سیستم مرجع
به زمان اجرای سیستم سریع تر است.
Speedup
=
Old Time / New Time
در مثال بالا:
100 / 80 = 1.25×
یعنی نرخ انجام آن کار
حدود 1.25 برابر شده است.
این اشتباه در نمودارهای Benchmark بسیار رایج است.
اگر زمان انجام کار
از 100 ثانیه به 80 ثانیه برسد،
زمان اجرا 20 درصد کاهش یافته است.
اما نرخ انجام همان کار:
100 / 80 = 1.25
یعنی Throughput متناظر
حدود 25 درصد بیشتر شده است.
بنابراین «درصد کاهش زمان»
و «درصد افزایش سرعت»
نباید با یکدیگر اشتباه گرفته شوند.
Baseline چیست؟
Baseline
یا «خط مبنا»
نتیجه یا سیستم مرجعی است
که سایر نتایج
نسبت به آن مقایسه می شوند.
Relative Performance چیست؟
Relative Performance
Relative Performance
یا «عملکرد نسبی»
Performance محصولات را
نسبت به یک Baseline نشان می دهد.برای مثال:
CPU A = 100%
CPU B = 115%
CPU C = 132%
در این نمودار CPU A
مرجع 100 درصدی است.
محور نمودار چگونه می تواند برداشت ما را تغییر دهد؟
هنگام مشاهده نمودار Benchmark
فقط طول میله ها را نگاه نکنید.
اعداد محور را بررسی کنید.
فرض کنید دو نتیجه:
CPU A = 100
CPU B = 105
اختلاف فقط 5 درصد است.
اما اگر محور نمودار
از 98 شروع شود،
میله CPU B ممکن است
چند برابر بلندتر به نظر برسد.
نمایش بصری
نباید جای خواندن اعداد واقعی را بگیرد.
Truncated Axis چیست؟
Truncated Axis
یا «محور بریده شده»
محوری است که
از صفر یا نقطه طبیعی مورد انتظار شروع نمی شود.این روش همیشه اشتباه نیست،
اما می تواند تفاوت های کوچک
را از نظر بصری بسیار بزرگ نشان دهد.
Cherry-Picking در Benchmark چیست؟
Cherry-Picking چیست؟
Cherry-Picking
یا «انتخاب گزینشی داده»
یعنی فقط نتایجی انتخاب شوند
که نتیجه مورد نظر فرد را تأیید می کنند
و سایر داده های مرتبط نادیده گرفته شوند.
برای مثال اگر CPU A
در 10 تست سریع تر
و CPU B در 2 تست سریع تر باشد،
نمایش فقط همان دو تست
می تواند تصویر ناقصی ایجاد کند.
Geometric Mean چیست؟
Geometric Mean چیست؟
Geometric Mean
یا «میانگین هندسی»
نوعی میانگین است
که برای ترکیب برخی نسبت ها
و نتایج نسبی Performance
کاربرد دارد.در مجموعه Benchmarkها،
استفاده صحیح از میانگین هندسی
می تواند از اثر بیش از حد
بعضی مقادیر بزرگ جلوگیری کند.
1% Low چیست؟
1% Low چیست؟
1% Low
معیاری رایج در Gaming Benchmark است
که تلاش می کند Performance
در بخش کندتر تجربه بازی را بهتر از Average FPS نشان دهد.روش محاسبه دقیق
می تواند میان ابزارها و روش های تست متفاوت باشد،
بنابراین باید Methodology منبع بررسی شود.
ممکن است دو CPU
Average FPS مشابهی داشته باشند،
اما یکی Frame Time پایدارتر
و 1% Low بهتری ارائه دهد.
در چنین شرایطی
تجربه بازی می تواند روان تر باشد.
Percentile چیست؟
Percentile
یا «صدک»
روشی برای مشخص کردن
موقعیت یک مقدار
در توزیع داده هاست.Percentileها در تحلیل
Latency و Frame Time
بسیار کاربردی هستند.
چرا Frame Time Graph از Average FPS اطلاعات بیشتری می دهد؟
Average FPS
یک عدد خلاصه است.
اما نمودار Frame Time
نشان می دهد هر Frame
با چه فاصله زمانی تولید شده است.
Spikeهای بزرگ
می توانند نشانه Stutter
یا ناپایداری Performance باشند.
Spike چیست؟
Spike
در نمودار Performance
به افزایش ناگهانی و کوتاه مدت
یک مقدار گفته می شود.برای مثال Frame Time Spike
یعنی تولید یک یا چند Frame
ناگهان بیشتر از حالت معمول طول کشیده است.
Margin of Error و اختلاف های کوچک
Margin of Error چیست؟
Margin of Error
یا «حاشیه خطا»
محدوده ای برای بیان
عدم قطعیت یک برآورد است.در Benchmark سخت افزار،
نباید هر اختلاف بسیار کوچک
را الزاماً به عنوان برتری واقعی تفسیر کرد.
اگر CPU A امتیاز 100
و CPU B امتیاز 101 بگیرد،
اما Run-to-Run Variation تست
حدود چند درصد باشد،
اعلام برتری قطعی B
می تواند نادرست باشد.
Statistical Significance چیست؟
Statistical Significance
یا «معناداری آماری»
مفهومی آماری است
که برای بررسی این موضوع استفاده می شود
که آیا یک تفاوت مشاهده شده
احتمالاً فراتر از تغییرات تصادفی است یا خیر.استفاده دقیق از این مفهوم
نیازمند طراحی آزمایش و تحلیل آماری مناسب است.
Practical Significance چیست؟
Practical Significance
یا «اهمیت عملی»
به این سوال پاسخ می دهد:آیا اختلاف اندازه گیری شده
در استفاده واقعی
آن قدر بزرگ هست که برای کاربر اهمیت داشته باشد؟
ممکن است یک Benchmark
اختلاف 3 درصدی میان دو CPU نشان دهد.
این اختلاف ممکن است واقعی باشد،
اما در Workload روزمره کاربر
اثر قابل توجهی ایجاد نکند.
بنابراین باید میان:
Measurable Difference
≠
Meaningful Difference
تفاوت قائل شویم.
چرا نسخه و تاریخ Benchmark مهم است؟
نرم افزارها تغییر می کنند.
Compiler،
Scheduler،
Operating System،
Driver
و خود Benchmark
می توانند در طول زمان به روز شوند.
بنابراین مقایسه نتیجه ای مربوط به چند سال قبل
با نتیجه ای که امروز
با نسخه جدید نرم افزار گرفته شده
ممکن است منصفانه نباشد.
Compiler چیست؟
Compiler
یا «کامپایلر»
نرم افزاری است که
کد نوشته شده توسط برنامه نویس
را به شکل مناسب برای اجرا
یا مراحل بعدی ساخت نرم افزار تبدیل می کند.Compilerهای مختلف
یا نسخه های جدیدتر آنها
می توانند از قابلیت های CPU
به شکل متفاوتی استفاده کنند.
Normalization چیست؟
Normalization چیست؟
Normalization
یا «نرمال سازی»
در ارائه Benchmark
روشی برای تبدیل نتایج
به یک مقیاس مشترک
برای مقایسه آسان تر است.برای مثال ممکن است
یک CPU به عنوان 100 درصد
در نظر گرفته شود
و بقیه نسبت به آن نمایش داده شوند.
پروتکل پیشنهادی برای Benchmark یک لپ تاپ
هدف تست را تعریف کنیدمشخص کنید دقیقاً چه چیزی قرار است اندازه گیری شود.
نسخه نرم افزار را ثبت کنیدBenchmark و نسخه آن باید مشخص باشند.
مشخصات سیستم را ثبت کنیدCPU، RAM، Storage، GPU و سیستم عامل.
Power Mode را ثابت کنیددستگاه های مقایسه شده باید در شرایط توانی مشخص باشند.
وضعیت برق را مشخص کنیدAC یا Battery بودن دستگاه را ثبت کنید.
Background Tasks را کنترل کنیدفعالیت های غیرضروری می توانند نتیجه را تغییر دهند.
شرایط اولیه را مشخص کنیدCold Run، Warm Run یا Steady-State Test را تعیین کنید.
Warm-up لازم را انجام دهیددر صورت نیاز Benchmark را پیش از اندازه گیری اصلی آماده کنید.
Benchmark را چند بار اجرا کنیدبه یک Run اعتماد نکنید.
Temperature، Clock و Power را ثبت کنیدفقط Score نهایی را ذخیره نکنید.
پراکندگی نتایج را بررسی کنیدMean، Median و Variation می توانند مفید باشند.
Outlierها را بررسی کنیدعلت داده غیرعادی را پیش از حذف پیدا کنید.
تست طولانی انجام دهیددر لپ تاپ، Sustained Performance را نیز بررسی کنید.
Benchmark واقعی اضافه کنیدنتیجه Synthetic را با Workload واقعی تکمیل کنید.
نتیجه را در Context قیمت تفسیر کنیدسریع ترین CPU الزاماً بهترین خرید نیست.
یک گزارش Benchmark حرفه ای چه اطلاعاتی باید داشته باشد؟
| اطلاعات | ضرورت |
|---|---|
| مدل کامل CPU | ضروری |
| مدل لپ تاپ / سیستم | ضروری برای لپ تاپ |
| RAM | ضروری |
| GPU | وابسته به تست |
| سیستم عامل | مهم |
| نسخه Benchmark | ضروری |
| Power Mode | مهم |
| تعداد Run | مهم |
| میانگین / میانه | مفید |
| Temperature | بسیار مهم در لپ تاپ |
| Clock | بسیار مهم |
| Power | بسیار مهم |
| Test Duration | مهم |
| تاریخ تست | مفید برای مقایسه آینده |
چگونه از Benchmark برای خرید لپ تاپ استفاده کنیم؟
Benchmark باید بخشی از تصمیم خرید باشد،
نه تمام آن.
ترتیب منطقی می تواند چنین باشد:
Define Workload
→
Find Relevant Benchmark
→
Compare Real Performance
→
Check Sustained Performance
→
Compare Laptop Quality
→
Compare Price
→
Decide
برای مثال اگر لپ تاپ را
برای AutoCAD خریداری می کنید،
نتیجه یک Benchmark چند هسته ای سنگین
به تنهایی نمی تواند
بهترین CPU برای کار شما را مشخص کند.
باید Benchmarkهایی را پیدا کنید
که رفتار واقعی Workload مورد نظر
را بهتر منعکس می کنند.
هرم اعتبار شواهد Benchmark
Specifications
↓
Synthetic Benchmark
↓
Application Benchmark
↓
Your Exact Workload
هرچه تست
به Workload واقعی شما نزدیک تر شود،
برای تصمیم شخصی شما
ارزش بیشتری پیدا می کند.
البته این به معنی بی ارزش بودن
سطوح قبلی نیست؛
هر سطح اطلاعات متفاوتی ارائه می دهد.
- انتخاب CPU فقط از روی یک Score.
- مقایسه Score دو Benchmark متفاوت.
- فرض اینکه عدد بزرگ تر همیشه بهتر است.
- نادیده گرفتن اینکه بعضی تست ها Time-Based هستند.
- اعتماد به یک Run.
- انتخاب بهترین Run و نادیده گرفتن بقیه.
- حذف Outlier بدون بررسی علت.
- نادیده گرفتن Run-to-Run Variation.
- نادیده گرفتن Temperature و Power.
- مقایسه لپ تاپ های دارای RAM Configuration متفاوت بدون توضیح.
- مقایسه نسخه های مختلف نرم افزار بدون توجه به تفاوت.
- استفاده از Burst Test برای نتیجه گیری درباره Workload طولانی.
- نادیده گرفتن Sustained Performance.
- اشتباه گرفتن کاهش زمان با افزایش درصد Performance.
- اعتماد به ظاهر نمودار بدون خواندن محور.
- Cherry-Picking نتایج.
- تعمیم Synthetic Benchmark به تمام نرم افزارها.
- فرض اینکه اختلاف قابل اندازه گیری الزاماً قابل احساس است.
- نادیده گرفتن قیمت هنگام تصمیم خرید.
سوالات متداول Benchmark پردازنده
Benchmark چیست؟
آزمونی برای اندازه گیری Performance
سخت افزار یا سیستم
در شرایط مشخص است.
آیا Benchmark بالاتر همیشه بهتر است؟
خیر.
باید مشخص شود معیار از نوع Score،
Time، Latency یا Throughput است.
Benchmark مصنوعی بهتر است یا واقعی؟
هیچ کدام به صورت مطلق بهتر نیست.
Synthetic برای اندازه گیری کنترل شده مفید است
و Real-World ارتباط مستقیم تری
با بعضی کاربردهای واقعی دارد.
Single-Core مهم تر است یا Multi-Core؟
به Workload بستگی دارد.
بعضی برنامه ها به Performance یک یا چند Thread
حساس تر هستند و بعضی از تعداد Core بیشتر بهره می برند.
چند بار Benchmark را اجرا کنیم؟
عدد ثابت جهانی وجود ندارد.
باید به اندازه ای Run انجام شود
که بتوان پایداری و پراکندگی نتایج را ارزیابی کرد.
چرا Benchmark لپ تاپ در اجرای دوم کمتر می شود؟
افزایش دما،
محدودیت توان
و رسیدن سیستم به شرایط پایدار حرارتی
می توانند Performance را کاهش دهند.
Average بهتر است یا Median؟
هر کدام کاربرد متفاوتی دارند.
Median نسبت به بعضی داده های پرت حساسیت کمتری دارد،
اما انتخاب معیار باید متناسب با داده و روش آزمایش باشد.
Outlier را باید حذف کنیم؟
نه به صورت خودکار.
ابتدا باید مشخص شود
چرا نتیجه غیرعادی ایجاد شده است.
اختلاف 2 درصدی Benchmark مهم است؟
ممکن است اختلاف در محدوده Variation تست باشد
یا در استفاده واقعی اهمیت کمی داشته باشد.
باید پایداری نتایج و اهمیت عملی بررسی شود.
چرا دو سایت برای یک CPU نتایج متفاوت دارند؟
مدل لپ تاپ،
RAM،
Cooling،
Power Limit،
نسخه نرم افزار،
سیستم عامل
و روش تست می توانند متفاوت باشند.
آیا Benchmark کوتاه برای لپ تاپ کافی است؟
برای بررسی Burst Performance مفید است،
اما برای Workload طولانی
باید Sustained Performance نیز آزمایش شود.
برای خرید لپ تاپ کدام Benchmark مهم تر است؟
Benchmarkی که بیشترین شباهت
به Workload واقعی شما داشته باشد
معمولاً اطلاعات کاربردی تری ارائه می دهد.
اصطلاحات جدید این فصل
- Benchmark: آزمون اندازه گیری Performance.
- Score: امتیاز تولید شده توسط Benchmark.
- Throughput: مقدار کار انجام شده در واحد زمان.
- Latency: زمان انتظار برای انجام یا پاسخ به یک عملیات.
- Real-World Benchmark: آزمون نزدیک به کاربرد واقعی.
- Run: یک بار اجرای Benchmark.
- Run-to-Run Variation: تغییر نتیجه میان اجراهای مختلف.
- Mean: میانگین حسابی.
- Median: میانه مجموعه داده.
- Outlier: داده پرت یا غیرعادی.
- Variance: معیار پراکندگی داده ها.
- Standard Deviation: انحراف معیار.
- Peak Performance: بیشترین Performance قابل دستیابی.
- Sustained Performance: Performance قابل حفظ در Load طولانی.
- Burst Performance: Performance کوتاه مدت.
- Warm-up Run: اجرای آماده سازی پیش از اندازه گیری.
- JIT Compilation: کامپایل در زمان اجرا.
- Cold Run: اجرا بدون وضعیت آماده حاصل از Run قبلی.
- Warm Run: اجرا در شرایط آماده تر ناشی از فعالیت قبلی.
- Working Set: مجموعه داده های فعال مورد استفاده برنامه.
- Fan Profile: الگوی کنترل سرعت فن.
- Temperature Target: دمای هدف سیستم کنترل حرارتی.
- Benchmark Loop: اجرای چندباره و متوالی Benchmark.
- Steady State: وضعیت نسبتاً پایدار سیستم پس از مرحله اولیه.
- Speedup: نسبت افزایش سرعت اجرای یک کار.
- Baseline: خط مبنای مقایسه.
- Relative Performance: Performance بیان شده نسبت به یک مرجع.
- Truncated Axis: محور نمودار بریده شده.
- Cherry-Picking: انتخاب گزینشی داده ها.
- Geometric Mean: میانگین هندسی.
- 1% Low: معیاری برای بررسی بخش کندتر Performance بازی.
- Percentile: صدک آماری.
- Spike: جهش کوتاه مدت یک مقدار در نمودار.
- Margin of Error: حاشیه خطا یا عدم قطعیت برآورد.
- Statistical Significance: معناداری آماری.
- Practical Significance: اهمیت عملی یک تفاوت.
- Compiler: نرم افزار تبدیل و پردازش کد برای ساخت برنامه.
- Normalization: تبدیل داده ها به مقیاس مشترک برای مقایسه.
خلاصه فصل
Benchmark زمانی ارزش علمی دارد
که بدانیم چه چیزی،
تحت چه شرایطی
و با چه روشی اندازه گیری شده است.
یک Score منفرد
نمی تواند تمام Performance یک CPU را توصیف کند.
Good Benchmarking
=
Controlled Conditions
+
Repeated Runs
+
Relevant Workload
+
Statistical Analysis
+
Correct Interpretation
همچنین در لپ تاپ
باید میان Burst Performance
و Sustained Performance تفاوت قائل شویم.
یک CPU ممکن است
در چند ثانیه اول بسیار سریع باشد،
اما پس از افزایش دما
و رسیدن به محدودیت توان
رفتار متفاوتی نشان دهد.
مهم تر از همه:
Benchmark باید به سوال واقعی کاربر پاسخ دهد.
اگر هدف شما Rendering است،
زمان Render مهم است.
اگر هدف Compilation است،
Build Time اهمیت دارد.
اگر هدف کار تعاملی است،
Latency و Single-Thread Performance
می توانند مهم تر باشند.
بنابراین Benchmark حرفه ای
مسابقه جمع کردن عددهای بزرگ تر نیست؛
بلکه فرآیند اندازه گیری صحیح
Performance مرتبط با یک مسئله واقعی است.
عدد Benchmark می گوید چه اتفاقی افتاده؛ سنسورها کمک می کنند بفهمیم چرا
مانیتورینگ CPU؛ چگونه دما، Clock، Power، Load و محدودیت های پردازنده را بخوانیم؟
وقتی یک لپ تاپ کند می شود، امتیاز Benchmark افت می کند
یا پردازنده به Performance مورد انتظار نمی رسد،
فقط نگاه کردن به درصد استفاده CPU کافی نیست.
برای پیدا کردن علت باید چند داده را هم زمان بررسی کنیم.
Temperature، Clock، Effective Clock، CPU Utilization،
Package Power، Power Limit و Thermal Limit
هر کدام فقط بخشی از رفتار پردازنده را نشان می دهند.
قدرت واقعی مانیتورینگ زمانی آشکار می شود که
رابطه میان این داده ها
را در طول زمان بررسی کنیم.
در این فصل چه چیزهایی یاد می گیریم؟
- CPU Monitoring چیست.
- Sensor چیست و داده سنسور چگونه خوانده می شود.
- تفاوت Core Temperature و CPU Package Temperature.
- CPU Utilization دقیقاً چه چیزی را نشان می دهد.
- تفاوت Clock و Effective Clock.
- CPU Package Power چیست.
- VID و Vcore چه تفاوتی دارند.
- Thermal Limit چیست.
- Power Limit چیست.
- Current / Electrical Limit چیست.
- Thermal Throttling را چگونه تشخیص دهیم.
- Power Limit Throttling چیست.
- چرا 100 درصد CPU Usage الزاماً به معنی حداکثر Performance نیست.
- چرا فرکانس بالا الزاماً به معنی Performance بالا نیست.
- Average، Minimum و Maximum سنسورها چگونه تفسیر می شوند.
- Sampling Interval و Polling Rate چیست.
- چگونه یک Log از رفتار CPU تهیه کنیم.
- چگونه از روی سنسورها علت افت Performance را پیدا کنیم.
CPU Monitoring چیست؟
معنی Monitoring
Monitoring
یعنی «پایش» یا «نظارت پیوسته».در بحث CPU،
منظور مشاهده و ثبت متغیرهایی مانند
دما، فرکانس، مصرف توان، میزان استفاده
و وضعیت محدودیت های پردازنده در طول زمان است.
یک Snapshot یا مشاهده لحظه ای
ممکن است اطلاعات مفیدی بدهد،
اما برای بسیاری از مشکلات کافی نیست.
برای مثال ممکن است در لحظه ای که شما نرم افزار مانیتورینگ را نگاه می کنید
CPU روی 3.8 GHz باشد،
در حالی که چند ثانیه قبل هنگام افت Performance
به 2.4 GHz رسیده بوده است.
به همین دلیل در عیب یابی حرفه ای،
رفتار CPU در طول زمان
اهمیت زیادی دارد.
Sensor چیست؟
Sensor چیست؟
Sensor
یا «حسگر»
مکانیزمی برای اندازه گیری یا گزارش یک وضعیت فیزیکی
یا عملیاتی سیستم است.در ابزارهای مانیتورینگ،
واژه Sensor گاهی به صورت گسترده تر
برای داده های گزارش شده توسط سخت افزار،
Firmware یا سیستم نیز استفاده می شود.
مهم ترین داده هایی که باید هم زمان بررسی شوند
| داده | چه چیزی نشان می دهد؟ |
|---|---|
| CPU Utilization | میزان مشغول بودن منابع پردازشی |
| Core Temperature | دمای گزارش شده برای هسته ها |
| CPU Package Temperature | دمای گزارش شده برای مجموعه پردازنده |
| Core Clock | فرکانس گزارش شده هسته |
| Effective Clock | فرکانس مؤثر در بازه اندازه گیری |
| CPU Package Power | توان گزارش شده برای Package پردازنده |
| Voltage | اطلاعات مرتبط با ولتاژ |
| Thermal Limit | وجود محدودیت مرتبط با دما |
| Power Limit | وجود محدودیت مرتبط با توان |
| Current / Electrical Limit | وجود محدودیت الکتریکی یا جریان |
CPU Utilization چیست؟
Utilization چیست؟
Utilization
در این Context
به معنی «میزان استفاده» یا «درگیری» منابع پردازشی است.CPU Utilization معمولاً به صورت درصد نمایش داده می شود،
اما تفسیر دقیق آن به سیستم عامل،
ابزار مانیتورینگ و معماری CPU بستگی دارد.
مشاهده 100 درصد CPU Usage
به تنهایی به این معنی نیست که پردازنده
حتماً در بالاترین Performance ممکن کار می کند.
ممکن است CPU کاملاً درگیر باشد،
اما به دلیل محدودیت توان یا دما
نتواند Clock بالاتری حفظ کند.
High Utilization
+
Low Effective Clock
=
CPU Busy
But Not Necessarily Fast
فرض کنید یک CPU
تحت Load کامل قرار دارد،
اما به دلیل رسیدن به Power Limit
فرکانس خود را کاهش داده است.
Task Manager ممکن است همچنان
استفاده بسیار بالای CPU را نشان دهد،
اما Performance واقعی کمتر شده باشد.
Core Temperature چیست؟
Core Temperature
Core Temperature
یا «دمای هسته»
دمای گزارش شده مرتبط با هسته های پردازنده است.در یک CPU چند هسته ای
ممکن است دمای هسته ها دقیقاً یکسان نباشد.
CPU Package Temperature چیست؟
Package Temperature
CPU Package Temperature
دمایی است که ابزار مانیتورینگ
برای Package یا مجموعه پردازنده گزارش می کند.این مقدار نباید به صورت ساده
«میانگین دمای تمام Coreها» فرض شود؛
نحوه گزارش آن به CPU و ابزار مانیتورینگ بستگی دارد.
Hottest Core چیست؟
Hottest Core
Hottest Core
یعنی «داغ ترین هسته»
در میان Coreهای پردازنده
در لحظه یا بازه مورد بررسی.
اختلاف چند درجه میان Coreها
الزاماً نشانه خرابی نیست.
Workload، محل قرارگیری هسته ها،
رفتار Boost و طراحی داخلی CPU
می توانند باعث اختلاف دما شوند.
TjMax چیست؟
TjMax
TjMax
مخفف Maximum Junction Temperature است.در فارسی می توان آن را
«حداکثر دمای اتصال یا Junction»
در نظر گرفت.
این مفهوم به محدوده دمایی مربوط است
که مکانیزم های مدیریت حرارتی پردازنده
بر اساس طراحی آن عمل می کنند.
نمی توان گفت مثلاً «تمام CPUها در دمای X خطرناک هستند».
حدود حرارتی میان مدل ها،
نسل ها و طراحی های مختلف متفاوت است.
برای تحلیل دقیق باید مشخصات همان پردازنده بررسی شود.
Distance to TjMax چیست؟
Distance to TjMax
یعنی فاصله دمای فعلی
تا حد مرجع TjMax.هرچه این فاصله کمتر شود،
CPU به محدوده حرارتی بالاتری نزدیک تر شده است.
Clock در ابزار مانیتورینگ چه معنایی دارد؟
Clock یا «فرکانس کلاک»
نشان دهنده نرخ چرخه های زمانی پردازنده است.
اما عددی که یک ابزار به عنوان Clock نمایش می دهد
همیشه به تنهایی بیانگر میزان واقعی کار انجام شده نیست.
Effective Clock چیست؟
Effective Clock
Effective Clock
یا «فرکانس مؤثر»
تلاش می کند فعالیت واقعی Core
را در یک بازه زمانی بهتر منعکس کند.یک Core ممکن است
Clock اسمی بالایی گزارش کند،
اما بخشی از زمان در حالت انتظار یا Sleep باشد.
تصور کنید ابزار مقدار زیر را نشان دهد:
Reported Clock = 4.0 GHz
اما Core در تمام بازه اندازه گیری
مشغول اجرای Instruction نبوده باشد.
Effective Clock می تواند
تصویر دقیق تری از فعالیت مؤثر
در آن بازه ارائه دهد.
به همین دلیل هنگام تحلیل رفتار CPU،
مخصوصاً در Loadهای متغیر،
نگاه کردن هم زمان به Clock،
Effective Clock و Utilization مفید است.
Residency چیست؟
Residency
Residency
در این Context
به مدت یا درصد زمانی اشاره دارد
که CPU یا Core در یک وضعیت مشخص
مانند یکی از C-Stateها قرار داشته است.
بررسی Residency می تواند کمک کند بفهمیم
CPU چه مقدار از زمان را فعال
و چه مقدار را در حالت های کم مصرف سپری کرده است.
C-State چیست؟
C-State
به حالت های مختلف بیکاری و کاهش مصرف پردازنده گفته می شود.به طور کلی،
ورود به حالت های عمیق تر می تواند مصرف انرژی را کاهش دهد،
اما جزئیات رفتار به معماری و پلتفرم وابسته است.
CPU Package Power چیست؟
CPU Package Power
CPU Package Power
تخمینی یا گزارشی از توان مصرفی بخش های مرتبط با
Package پردازنده است.مقدار و نحوه محاسبه دقیق آن
به معماری CPU و روش گزارش ابزار بستگی دارد.
Package Power
یکی از مهم ترین داده ها
برای تحلیل Performance لپ تاپ است.
اگر دو لپ تاپ CPU یکسانی داشته باشند
ولی یکی اجازه دهد پردازنده
توان بیشتری را برای مدت طولانی حفظ کند،
ممکن است Performance چند هسته ای متفاوتی داشته باشند.
Power Limit چیست؟
Power Limit
Power Limit
یا «محدودیت توان»
محدودیتی است که سیستم
برای میزان یا الگوی مصرف توان پردازنده اعمال می کند.رسیدن به Power Limit
الزاماً نشانه خرابی نیست.
این محدودیت می تواند
بخشی طبیعی از طراحی مدیریت توان دستگاه باشد.
PL1 و PL2 چه هستند؟
PL1 / PL2
در بسیاری از پردازنده ها و پلتفرم های Intel،
اصطلاحات PL1 و PL2
برای محدودیت های مرتبط با توان استفاده شده اند.
به صورت مفهومی،
یکی می تواند با رفتار توانی طولانی تر
و دیگری با اجازه توان بالاتر در بازه کوتاه تر مرتبط باشد،
اما پیاده سازی دقیق در نسل ها و دستگاه های مختلف
می تواند متفاوت باشد.
TDP، Package Power و Power Limit
مفاهیم مرتبط اما یکسانی نیستند.
یک CPU ممکن است در بخشی از Load
توانی متفاوت از عدد TDP اسمی خود داشته باشد.
برای فهم رفتار واقعی،
باید داده های همان دستگاه
در همان Workload بررسی شوند.
Thermal Limit چیست؟
Thermal Limit
Thermal Limit
یا «محدودیت حرارتی»
به شرایطی اشاره دارد که
کنترل Performance تحت تأثیر
محدودیت های دمایی قرار گرفته است.
Thermal Throttling را چگونه تشخیص دهیم؟
Thermal Throttling
Thermal Throttling
یا «کاهش عملکرد ناشی از محدودیت حرارتی»
زمانی رخ می دهد که سیستم
برای کنترل شرایط حرارتی،
Performance پردازنده را محدود کند.
تشخیص آن نباید فقط بر اساس
مشاهده یک دمای بالا انجام شود.
بهتر است چند داده را هم زمان ببینیم:
High Temperature
+
Thermal Limit Flag
+
Clock / Effective Clock Reduction
+
Performance Drop
Flag چیست؟
Flag
در نرم افزارهای مانیتورینگ
به یک نشانگر وضعیت گفته می شود
که فعال یا غیرفعال بودن یک شرایط خاص را گزارش می کند.برای مثال Thermal Throttling Flag
می تواند نشان دهد
یک محدودیت حرارتی ثبت شده است.
Power Limit Throttling چیست؟
Power Limit Throttling
Power Limit Throttling
به محدود شدن Performance
در اثر رسیدن سیستم
به یکی از محدودیت های توان گفته می شود.
در این حالت ممکن است CPU
هنوز از نظر دما فاصله قابل توجهی
با سقف حرارتی خود داشته باشد،
اما نتواند Clock بیشتری حفظ کند.
| وضعیت | Thermal Limited | Power Limited |
|---|---|---|
| عامل اصلی | محدودیت حرارتی | محدودیت توان |
| دمای بالا | اغلب مرتبط | الزاماً نه |
| Clock ممکن است کاهش یابد؟ | بله | بله |
| نشانه خرابی است؟ | الزاماً نه | الزاماً نه |
| نیاز به بررسی Cooling دارد؟ | اغلب مهم | ممکن است عامل اصلی نباشد |
Current Limit و Electrical Limit چیست؟
Current / Electrical Limit
این اصطلاحات به محدودیت هایی مربوط می شوند
که با جریان، توان رسانی یا شرایط الکتریکی
پلتفرم ارتباط دارند.
نام دقیق Flagها
و نحوه عملکرد آنها
میان معماری ها و ابزارهای مختلف متفاوت است.
Voltage در مانیتورینگ CPU چه معنایی دارد؟
Voltage یعنی «ولتاژ».
اما هنگام مشاهده نرم افزار مانیتورینگ
باید دقیقاً بدانیم
کدام نوع Voltage نمایش داده شده است.
تمام اعداد Voltage
معنای یکسانی ندارند.
VID چیست؟
VID
VID
معمولاً به Voltage Identification
و مقدار ولتاژ درخواستی یا هدف
در سازوکار کنترل ولتاژ اشاره دارد.VID را نباید بدون توجه به پلتفرم
دقیقاً معادل ولتاژ واقعی تحویلی به CPU دانست.
Vcore چیست؟
Vcore
Vcore
اصطلاحی برای ولتاژ Core پردازنده است.مقدار نمایش داده شده تحت عنوان Vcore
می تواند به روش اندازه گیری،
مادربرد، Controller
و نرم افزار مانیتورینگ وابسته باشد.
ممکن است در یک ابزار
VID و Vcore هم زمان نمایش داده شوند
و مقادیر آنها یکسان نباشد.
این اختلاف الزاماً نشانه مشکل نیست،
زیرا این دو داده ممکن است
مفاهیم و نقاط اندازه گیری متفاوتی داشته باشند.
Current، Minimum، Maximum و Average چه هستند؟
| ستون | معنی |
|---|---|
| Current | مقدار فعلی یا آخرین مقدار ثبت شده |
| Minimum | کمترین مقدار ثبت شده در بازه |
| Maximum | بیشترین مقدار ثبت شده در بازه |
| Average | میانگین مقادیر ثبت شده طبق روش ابزار |
فرض کنید Maximum Temperature برابر 96°C باشد.
از این عدد به تنهایی نمی دانیم
CPU فقط برای کسری از زمان به 96 درجه رسیده
یا برای مدت طولانی در آن محدوده بوده است.
برای تحلیل بهتر باید Duration،
Average Temperature،
Clock،
Power
و وضعیت Limitها را نیز بررسی کنیم.
Sampling Interval چیست؟
Sampling Interval
Sampling Interval
یا «فاصله نمونه برداری»
مدت زمان میان دو بار ثبت یا خواندن داده است.برای مثال اگر ابزار
هر یک ثانیه داده را ثبت کند،
فاصله نمونه برداری تقریباً یک ثانیه است.
Polling چیست؟
Polling
در این Context
به فرآیند پرس و جو یا خواندن دوره ای
وضعیت سنسورها گفته می شود.Polling Rate
بیان می کند این خواندن
با چه نرخ یا تناوبی انجام می شود.
فرض کنید یک جهش دمایی
فقط 200 میلی ثانیه طول بکشد،
اما ابزار هر دو ثانیه
یک بار داده ثبت کند.
ممکن است آن رویداد کوتاه
اصلاً در Log دیده نشود.
بنابراین داده مانیتورینگ
همیشه باید در Context
روش نمونه برداری تفسیر شود.
Logging چیست و چرا برای عیب یابی مهم است؟
Logging
Logging
یا «ثبت داده»
یعنی ذخیره مقادیر سنسورها
در طول زمان برای بررسی بعدی.
Logging بسیار مفید است،
زیرا هنگام اجرای Benchmark
نمی توان ده ها Sensor را
به صورت هم زمان با چشم دنبال کرد.
بعد از تست می توان بررسی کرد:
- افت Performance دقیقاً چه زمانی اتفاق افتاده است.
- در همان لحظه Temperature چقدر بوده است.
- Package Power چگونه تغییر کرده است.
- Clock و Effective Clock چه رفتاری داشته اند.
- آیا Thermal یا Power Limit فعال شده است.
Correlation در تحلیل سنسورها چیست؟
Correlation
Correlation
یا «همبستگی»
به وجود رابطه یا تغییر هم زمان
میان متغیرها اشاره دارد.مشاهده همبستگی
به تنهایی اثبات نمی کند
که یک متغیر علت دیگری بوده است.
Causation چیست؟
Causation
یا «رابطه علت و معلولی»
یعنی تغییر یک عامل
واقعاً موجب تغییر عامل دیگری شده باشد.
اگر هم زمان با افزایش دما
Clock کاهش پیدا کند،
احتمال ارتباط وجود دارد،
اما برای نتیجه گیری بهتر
باید Thermal Limit Flag،
Power Limit و سایر داده ها نیز بررسی شوند.
روش Timeline برای عیب یابی CPU
یکی از بهترین روش های تحلیل،
قرار دادن داده ها روی یک خط زمانی مشترک است.
Time
→
Performance
+
Temperature
+
Effective Clock
+
Package Power
+
Limit Flags
حالا می توانیم ببینیم
قبل، هنگام و بعد از افت Performance
چه اتفاقی افتاده است.
سناریو 1: افت Performance ناشی از محدودیت حرارتی
CPU Load ↑
→
Package Power ↑
→
Temperature ↑
→
Thermal Limit
→
Effective Clock ↓
→
Benchmark Performance ↓
این زنجیره داده
بسیار مفیدتر از مشاهده صرف
یک عدد دمای بالا است.
سناریو 2: افت Performance ناشی از Power Limit
CPU Load ↑
→
Power Reaches Limit
→
Power Limit Flag
→
Effective Clock Stabilizes Lower
→
Sustained Performance Stabilizes
در این سناریو
Temperature الزاماً به سقف حرارتی نمی رسد.
سناریو 3: CPU سریع است اما Utilization پایین مانده
اگر CPU Utilization پایین باشد،
ولی برنامه کند اجرا شود،
نباید فوراً CPU را مقصر بدانیم.
ممکن است Workload:
- Single-Thread Limited باشد.
- منتظر Storage باشد.
- منتظر RAM یا Memory Access باشد.
- منتظر GPU باشد.
- منتظر Network باشد.
- به دلیل ساختار نرم افزار نتواند از تمام Coreها استفاده کند.
Wait State در تحلیل Performance
به زبان ساده،
ممکن است CPU آماده انجام کار باشد
اما برای دریافت داده یا تکمیل یک رویداد دیگر منتظر بماند.
بنابراین Utilization پایین
همیشه به معنی «CPU بیش از حد قدرتمند است» نیست.
چگونه محدودیت Single-Thread را تشخیص دهیم؟
یکی از اشتباهات رایج این است که فقط
Total CPU Usage را نگاه کنیم.
فرض کنید یک CPU هشت Thread داشته باشد
و نرم افزار عمدتاً فقط یک Thread را سنگین کند.
Total Usage ممکن است پایین به نظر برسد،
در حالی که یک Logical Processor
تقریباً کاملاً درگیر است.
هنگام بررسی برنامه هایی که
Scaling چند هسته ای محدودی دارند،
Utilization هر Core یا Thread
را جداگانه بررسی کنید.
Low Total CPU Usage
≠
CPU Is Not The Bottleneck
Logical Processor چیست؟
Logical Processor
یا «پردازنده منطقی»
واحد اجرایی است که سیستم عامل
برای زمان بندی Threadها مشاهده می کند.در پردازنده های دارای SMT یا Hyper-Threading،
تعداد Logical Processorها
می تواند بیشتر از تعداد Coreهای فیزیکی باشد.
چرا قبل از Benchmark باید Min/Max سنسورها Reset شوند؟
اگر Maximum Temperature
مربوط به فعالیتی قبل از Benchmark باشد،
ممکن است تحلیل اشتباهی انجام دهیم.
بنابراین بهتر است پیش از تست:
Reset Sensor Statistics
→
Start Logging
→
Start Benchmark
→
Stop Benchmark
→
Stop Logging
→
Analyze
پروتکل عملی مانیتورینگ CPU
Workload را مشخص کنیدبدانید قرار است چه مشکل یا Performanceای بررسی شود.
Power Mode را ثبت کنیدحالت توان می تواند رفتار CPU را تغییر دهد.
AC یا Battery را مشخص کنیدتست لپ تاپ بدون ثبت این مورد ناقص است.
سنسورهای قبلی را Reset کنیدMin و Max مربوط به تست قبلی نباشند.
Logging را فعال کنیدداده ها باید در طول تست ثبت شوند.
Temperature را ثبت کنیدCore و Package Temperature را بررسی کنید.
Clock را ثبت کنیدClock و در صورت امکان Effective Clock را بررسی کنید.
Package Power را ثبت کنیدرفتار توان را در طول تست مشاهده کنید.
Utilization را ثبت کنیدTotal و در صورت نیاز Per-Core را بررسی کنید.
Limit Flags را ثبت کنیدThermal، Power و Electrical Limitها را بررسی کنید.
Benchmark را اجرا کنیدPerformance و Sensor Data باید مربوط به یک بازه زمانی باشند.
Timeline را بررسی کنیدزمان افت Performance را با تغییر سنسورها تطبیق دهید.
علت احتمالی را مشخص کنیدThermal، Power، Single-Thread، Memory یا عامل دیگر.
فرضیه را دوباره آزمایش کنیدیک تغییر کنترل شده انجام دهید و تست را تکرار کنید.
چرا در عیب یابی باید هر بار فقط یک متغیر را تغییر دهیم؟
فرض کنید هم زمان:
- خمیر حرارتی را عوض کنیم،
- Power Mode را تغییر دهیم،
- RAM اضافه کنیم،
- BIOS را Update کنیم،
- و Windows را نیز تغییر دهیم.
اگر Performance بهتر شود،
دیگر نمی دانیم کدام تغییر علت اصلی بوده است.
One Variable at a Time
یعنی «هر بار یک متغیر».
در عیب یابی کنترل شده،
بهتر است یک عامل تغییر کند،
تست تکرار شود
و اثر آن اندازه گیری گردد.
مانیتورینگ CPU در لپ تاپ استوک چه کاربردی دارد؟
در یک لپ تاپ استوک،
فقط دانستن مدل CPU کافی نیست.
دو دستگاه هم مدل
می توانند به دلیل وضعیت نگهداری،
سیستم خنک کننده،
گردوغبار،
Fan،
Thermal Interface
یا تنظیمات Firmware
رفتار متفاوتی داشته باشند.
Thermal Interface چیست؟
Thermal Interface
یا «رابط انتقال حرارت»
ماده یا ساختاری است که
انتقال حرارت میان سطح تراشه
و سیستم خنک کننده را بهبود می دهد.Thermal Paste یا «خمیر حرارتی»
یکی از نمونه های رایج آن است.
اگر لپ تاپی در تست کوتاه
Performance خوبی داشته باشد،
اما پس از چند دقیقه
Clock و Performance آن به شدت افت کند،
بررسی Cooling اهمیت پیدا می کند.
در مقابل،
دستگاهی که Performance را
در Load طولانی بهتر حفظ می کند
می تواند برای کارهای مهندسی،
Rendering و پردازش های طولانی
انتخاب مناسب تری باشد.
ماتریس سریع تشخیص رفتار CPU
| مشاهده | احتمال قابل بررسی |
|---|---|
| دما بالا + Thermal Flag + افت Clock | محدودیت حرارتی |
| دما متوسط + Power Flag + افت/تثبیت Clock | Power Limit |
| Total Usage پایین + یک Thread بسیار درگیر | Single-Thread Bottleneck |
| CPU Usage پایین + GPU Usage بسیار بالا | احتمال GPU Bottleneck |
| CPU Usage پایین + Storage Activity بالا | احتمال انتظار برای Storage |
| Clock بالا + Effective Clock پایین | نیاز به بررسی فعالیت واقعی Core و Idle State |
| Performance خوب در ابتدا + افت تدریجی | بررسی Thermal / Power Sustainability |
| Performance ناپایدار بین Runها | بررسی دما، Background Task، Power و شرایط تست |
این جدول ابزار تشخیص قطعی نیست.
هر ردیف یک فرضیه برای بررسی ایجاد می کند،
نه یک حکم نهایی.
- نگاه کردن فقط به Temperature.
- نگاه کردن فقط به CPU Usage.
- فرض اینکه 100% Usage یعنی حداکثر Performance.
- فرض اینکه Clock بالا همیشه یعنی Performance بالا.
- نادیده گرفتن Effective Clock.
- مقایسه VID با Vcore بدون شناخت تفاوت آنها.
- برابر دانستن TDP و Package Power.
- برابر دانستن TDP و Power Limit.
- فرض اینکه هر Power Limit نشانه خرابی است.
- فرض اینکه هر دمای بالا Thermal Throttling است.
- نادیده گرفتن Thermal Flag.
- نادیده گرفتن Power Limit Flag.
- استفاده از Maximum Temperature بدون Timeline.
- استفاده از Sensor Data مربوط به قبل از Benchmark.
- Reset نکردن Min/Max قبل از تست.
- تغییر چند عامل به صورت هم زمان هنگام عیب یابی.
- استفاده از یک Run برای نتیجه گیری.
- نادیده گرفتن Per-Core Utilization.
- فرض اینکه Total CPU Usage پایین یعنی CPU Bottleneck وجود ندارد.
سوالات متداول مانیتورینگ CPU
برای بررسی CPU فقط دما را نگاه کنیم؟
خیر. Temperature باید همراه Clock،
Effective Clock، Power، Utilization
و Limit Flags بررسی شود.
CPU Usage صد درصد یعنی پردازنده با حداکثر قدرت کار می کند؟
الزاماً خیر.
CPU می تواند کاملاً درگیر باشد
اما تحت محدودیت توان یا حرارت
Performance کمتری ارائه دهد.
Core Temperature و Package Temperature یکی هستند؟
خیر.
این دو داده مفاهیم متفاوتی دارند
و نحوه گزارش آنها نیز به پلتفرم وابسته است.
آیا رسیدن به Power Limit نشانه خرابی لپ تاپ است؟
خیر.
Power Limit می تواند
بخشی طبیعی از طراحی مدیریت توان دستگاه باشد.
Thermal Throttling را فقط از روی دما می توان تشخیص داد؟
بهتر است خیر.
دما باید همراه Thermal Flag،
Clock و افت Performance بررسی شود.
چرا Clock و Effective Clock متفاوت هستند؟
زیرا Clock گزارش شده
لزوماً میزان فعالیت مؤثر Core
در تمام بازه نمونه برداری را نشان نمی دهد.
VID همان Vcore است؟
الزاماً خیر.
VID معمولاً با ولتاژ درخواستی یا هدف مرتبط است،
در حالی که Vcore به ولتاژ Core اشاره دارد
و روش گزارش آن می تواند متفاوت باشد.
چرا Maximum Temperature به تنهایی کافی نیست؟
زیرا مشخص نمی کند CPU
چه مدت در آن دما بوده
و در همان زمان Clock، Power
و Performance چه وضعیتی داشته اند.
Logging چه فایده ای دارد؟
امکان بررسی رفتار سنسورها در طول زمان
و تطبیق آنها با لحظه افت Performance را فراهم می کند.
چرا Total CPU Usage پایین است ولی برنامه کند اجرا می شود؟
ممکن است برنامه به یک Thread محدود باشد
یا منتظر GPU، Storage، Memory،
Network یا منبع دیگری باشد.
آیا دمای CPU دو لپ تاپ با پردازنده یکسان باید برابر باشد؟
خیر.
Cooling، Power Limit، طراحی بدنه،
Fan Profile و شرایط محیط می توانند متفاوت باشند.
برای بررسی لپ تاپ استوک تست کوتاه کافی است؟
خیر.
تست کوتاه Burst Performance را نشان می دهد،
اما برای بررسی Cooling و Performance پایدار
تست طولانی نیز ارزش زیادی دارد.
اصطلاحات جدید این فصل
- Monitoring: پایش و نظارت بر رفتار سیستم در طول زمان.
- Sensor: حسگر یا منبع گزارش یک وضعیت.
- Utilization: میزان استفاده یا درگیری منبع پردازشی.
- Core Temperature: دمای گزارش شده مرتبط با هسته CPU.
- Package Temperature: دمای گزارش شده برای Package پردازنده.
- Hottest Core: داغ ترین Core در میان هسته ها.
- TjMax: حداکثر دمای Junction مرجع پردازنده.
- Distance to TjMax: فاصله دمای فعلی تا TjMax.
- Clock: فرکانس کلاک پردازنده.
- Effective Clock: فرکانس مؤثر در بازه اندازه گیری.
- Residency: مدت یا درصد حضور در یک وضعیت مشخص.
- C-State: حالت های بیکاری و مدیریت مصرف CPU.
- Package Power: توان گزارش شده برای Package پردازنده.
- Power Limit: محدودیت اعمال شده بر رفتار توانی پردازنده.
- PL1 / PL2: اصطلاحات مرتبط با محدودیت های توان در بسیاری از پلتفرم های Intel.
- Thermal Limit: محدودیت مرتبط با شرایط حرارتی.
- Thermal Throttling: کاهش Performance برای کنترل محدودیت حرارتی.
- Power Limit Throttling: محدود شدن Performance در اثر محدودیت توان.
- Current Limit: محدودیت مرتبط با جریان.
- Electrical Limit: محدودیت مرتبط با شرایط الکتریکی.
- Voltage: ولتاژ.
- VID: داده مرتبط با ولتاژ درخواستی یا هدف CPU.
- Vcore: ولتاژ مرتبط با Core پردازنده.
- Sampling Interval: فاصله زمانی بین نمونه برداری ها.
- Polling: خواندن دوره ای داده ها.
- Polling Rate: نرخ خواندن دوره ای داده ها.
- Logging: ثبت داده در طول زمان.
- Correlation: همبستگی میان متغیرها.
- Causation: رابطه علت و معلولی.
- Flag: نشانگر فعال یا غیرفعال بودن یک وضعیت.
- Logical Processor: واحد پردازشی منطقی قابل مشاهده برای سیستم عامل.
- Thermal Interface: رابط انتقال حرارت میان تراشه و سیستم خنک کننده.
- One Variable at a Time: روش تغییر یک متغیر در هر مرحله آزمایش.
خلاصه فصل
مانیتورینگ CPU
فقط نگاه کردن به یک عدد دما یا فرکانس نیست.
برای فهم رفتار واقعی پردازنده
باید چند متغیر را
به صورت هم زمان و در طول زمان بررسی کنیم.
CPU Diagnosis
=
Workload
+
Utilization
+
Temperature
+
Effective Clock
+
Package Power
+
Limit Flags
+
Timeline
اگر Performance کاهش پیدا کند،
سؤال درست این نیست که
«دمای CPU چقدر بود؟»
سؤال دقیق تر این است:
در لحظه افت Performance،
دما، توان، Clock، Effective Clock،
Utilization و Limit Flags
چه تغییری کردند؟
این طرز نگاه،
مانیتورینگ را از مشاهده چند عدد
به یک ابزار واقعی برای
عیب یابی مهندسی
تبدیل می کند.
عبور از Benchmark؛ آیا سیستم می تواند Performance خود را بدون خطا حفظ کند؟
Stress Test پردازنده؛ چگونه پایداری، حرارت و سلامت عملکرد CPU را بررسی کنیم؟
Benchmark معمولاً برای اندازه گیری Performance طراحی می شود،
اما Stress Test هدف متفاوتی دارد:
قرار دادن CPU یا بخش مشخصی از سیستم تحت فشار کنترل شده
برای بررسی پایداری، رفتار حرارتی، محدودیت توان
و احتمال بروز خطا.
یک لپ تاپ ممکن است Benchmark کوتاهی را با موفقیت تمام کند،
اما پس از چند دقیقه Load سنگین
دچار افت شدید Performance، Error، Freeze
یا حتی خاموش شدن شود.
بنابراین در ارزیابی حرفه ای CPU،
مخصوصاً در لپ تاپ استوک،
Benchmark و Stress Test دو ابزار مکمل هستند،
نه جایگزین یکدیگر.
در این فصل چه چیزهایی یاد می گیریم؟
- Stress Test چیست.
- تفاوت Stress Test و Benchmark.
- Stability یا پایداری سیستم دقیقاً چیست.
- Stress Workload چیست.
- چرا همه Stress Testها فشار یکسانی ایجاد نمی کنند.
- تفاوت CPU Stress و Thermal Stress.
- Power Stress چیست.
- Combined Load چیست.
- چرا تست CPU+GPU برای لپ تاپ اهمیت دارد.
- Crash، Freeze و BSOD چه هستند.
- WHEA چیست و چرا در عیب یابی اهمیت دارد.
- Calculation Error چیست.
- Hardware Error چیست.
- Thermal Throttling در Stress Test چگونه بررسی می شود.
- Power Limit در تست طولانی چه معنایی دارد.
- چگونه Cooling لپ تاپ استوک را آزمایش کنیم.
- چرا عبور از یک Stress Test سلامت کامل سیستم را ثابت نمی کند.
- چه زمانی باید Stress Test را متوقف کرد.
- چگونه گزارش استاندارد Stress Test تهیه کنیم.
Stress Test چیست؟
معنی Stress Test
Stress Test
را می توان «آزمون فشار» ترجمه کرد.در این روش،
سخت افزار با یک Workload سنگین و کنترل شده
برای مدتی مشخص تحت بار قرار می گیرد
تا رفتار آن در شرایط دشوار بررسی شود.
هدف Stress Test می تواند یکی یا چند مورد باشد:
- بررسی Stability پردازنده.
- بررسی Cooling.
- مشاهده Sustained Performance.
- بررسی Thermal Throttling.
- بررسی Power Limit.
- کشف خطاهایی که در استفاده کوتاه ظاهر نمی شوند.
- بررسی رفتار سیستم پس از تعمیر یا سرویس.
Stability چیست؟
Stability
Stability
یعنی «پایداری».در این Context،
سیستم پایدار سیستمی است که
Workload مورد نظر را
در شرایط تعریف شده
بدون خطای غیرمنتظره اجرا کند.
اما عبارت «این سیستم Stable است»
بدون Context ناقص است.
بهتر است بگوییم:
این سیستم در فلان تست،
با فلان تنظیمات،
برای فلان مدت،
بدون خطای مشاهده شده کار کرده است.
هیچ Stress Test منفردی
تمام حالت های ممکن استفاده از یک سیستم را پوشش نمی دهد.
ممکن است دستگاه
یک تست سنگین CPU را بدون مشکل اجرا کند،
اما در Workload دیگری
که Memory، GPU یا بخش دیگری را متفاوت درگیر می کند
دچار خطا شود.
Pass One Stress Test
≠
Proof Of Perfect Hardware
نتیجه صحیح این است:
در شرایط همان آزمایش،
خطایی مشاهده نشد.
تفاوت Benchmark و Stress Test چیست؟
| ویژگی | Benchmark | Stress Test |
|---|---|---|
| هدف اصلی | اندازه گیری Performance | بررسی رفتار تحت فشار و پایداری |
| خروجی رایج | Score / Time / Throughput | Pass / Error / رفتار سیستم |
| مدت اجرا | اغلب مشخص و محدود | می تواند طولانی تر باشد |
| فشار حرارتی | وابسته به Benchmark | اغلب یکی از اهداف تست است |
| بررسی Stability | هدف اصلی نیست | یکی از اهداف اصلی |
| مقایسه سرعت CPUها | مناسب تر | هدف اصلی نیست |
Stress Workload چیست؟
Stress Workload
Stress Workload
یعنی بار کاری طراحی شده
برای ایجاد فشار قابل توجه
روی یک یا چند بخش سیستم.نوع Workload تعیین می کند
کدام قسمت پردازنده بیشتر تحت فشار قرار بگیرد.
برای مثال دو تستی که هر دو
100 درصد CPU Usage نشان می دهند
الزاماً فشار یکسانی ایجاد نمی کنند.
CPU Usage فقط میزان درگیری را نشان می دهد،
نه نوع Instructionهایی که اجرا می شوند.
دو Workload می توانند
هر دو تمام Coreها را درگیر کنند،
اما مصرف توان،
دما،
Memory Traffic
و فشار وارد شده به Execution Unitها
متفاوت باشد.
100% Utilization
≠
Same Workload
≠
Same Power
≠
Same Temperature
Instruction Mix چیست؟
Instruction Mix
Instruction Mix
یا «ترکیب دستورها»
به نوع و نسبت Instructionهایی گفته می شود
که یک برنامه هنگام اجرا استفاده می کند.Workloadهای مختلف
ترکیب دستورهای متفاوتی دارند
و بنابراین می توانند
رفتار توان و حرارت متفاوتی ایجاد کنند.
چرا بعضی Stress Testها CPU را بسیار داغ تر می کنند؟
یکی از دلایل می تواند
نوع Instruction مورد استفاده باشد.
برخی Workloadهای برداری سنگین
می توانند بخش بزرگی از منابع محاسباتی CPU را درگیر کنند
و مصرف توان بالایی ایجاد کنند.
AVX چیست؟
AVX
مخفف Advanced Vector Extensions
یا «افزونه های پیشرفته برداری» است.این مجموعه دستورها
برای انجام برخی محاسبات برداری
روی چند داده به صورت موازی طراحی شده است.
Vector Operation چیست؟
Vector Operation
یا «عملیات برداری»
عملیاتی است که می تواند
یک دستور را روی مجموعه ای از داده ها
به شکل موازی اعمال کند.
ایجاد بیشترین دمای ممکن
همیشه هدف صحیح نیست.
Workload بسیار سنگین می تواند
برای بررسی محدوده های حرارتی مفید باشد،
اما ممکن است رفتار نرم افزارهای روزمره کاربر را
به خوبی نمایندگی نکند.
بنابراین باید میان
Worst-Case Stress
و
Realistic Sustained Load
تفاوت قائل شویم.
Worst-Case Stress چیست؟
Worst-Case Stress
یعنی آزمونی که تلاش می کند
شرایط بسیار سنگین یا نزدیک به بدترین حالت
برای بخش مورد نظر ایجاد کند.
Realistic Sustained Load چیست؟
Realistic Sustained Load
یا «بار پایدار نزدیک به استفاده واقعی»
Workload سنگینی است که
رفتار کاربرد واقعی مورد نظر را
بهتر شبیه سازی می کند.
Thermal Stress چیست؟
Thermal Stress
Thermal Stress
یا «فشار حرارتی»
شرایطی است که در آن
سیستم خنک کننده باید
گرمای تولید شده تحت Load را دفع کند.
در این تست سؤال اصلی فقط این نیست که
«CPU چند درجه شد؟»
بلکه باید بررسی کنیم:
- دمای اولیه چقدر بود؟
- دما با چه سرعتی افزایش یافت؟
- در چه محدوده ای تثبیت شد؟
- Fan چگونه واکنش نشان داد؟
- Clock چگونه تغییر کرد؟
- Package Power چگونه تغییر کرد؟
- Thermal Limit فعال شد یا خیر؟
- Performance در طول تست حفظ شد یا افت کرد؟
Thermal Equilibrium چیست؟
Thermal Equilibrium
Thermal Equilibrium
را می توان در این Context
«تعادل حرارتی نسبی» نامید.در تست عملی،
زمانی به این وضعیت نزدیک می شویم
که دما دیگر مانند ابتدای تست
به سرعت افزایش پیدا نکند
و رفتار حرارتی سیستم نسبتاً پایدار شود.
رسیدن به این وضعیت
برای ارزیابی Cooling لپ تاپ مهم است،
زیرا یک تست بسیار کوتاه
ممکن است قبل از اشباع حرارتی پایان یابد.
Heat Soak چیست؟
Heat Soak
Heat Soak
به گرم شدن تدریجی بخش های مختلف سیستم
در اثر ادامه Load گفته می شود.Heatpipe، Heatsink، بدنه
و هوای داخل لپ تاپ
به مرور گرما جذب می کنند.
به همین دلیل ممکن است
لپ تاپ در دو دقیقه اول عالی عمل کند،
اما پس از 15 دقیقه
رفتار متفاوتی داشته باشد.
Heatsink چیست؟
Heatsink
یا «گرماگیر»
قطعه ای است که
برای دریافت و انتقال گرما از تراشه
و افزایش سطح دفع حرارت استفاده می شود.
Heatpipe چیست؟
Heatpipe
یا «لوله حرارتی»
قطعه انتقال حرارت است
که در بسیاری از سیستم های خنک کننده لپ تاپ
برای انتقال گرما از CPU یا GPU
به بخش پره های خنک کننده استفاده می شود.
Power Stress چیست؟
در بعضی تست ها هدف این است که
رفتار سیستم در شرایط مصرف توان بالا بررسی شود.
در این شرایط
فقط CPU اهمیت ندارد؛
سیستم تغذیه،
Firmware،
Cooling
و محدودیت های طراحی لپ تاپ
هم وارد معادله می شوند.
Combined Load چیست؟
Combined Load
Combined Load
یا «بار ترکیبی»
یعنی بیش از یک بخش اصلی سیستم
به صورت هم زمان تحت بار قرار بگیرد.نمونه مهم در لپ تاپ:
CPU Load
+
GPU Load
در بسیاری از لپ تاپ ها،
CPU و GPU کاملاً مستقل از یکدیگر نیستند.
ممکن است بخشی از سیستم Cooling،
فضای حرارتی
یا محدودیت توان دستگاه
میان آنها مشترک باشد.
CPU Load Only
≠
CPU Behavior During CPU + GPU Load
بنابراین لپ تاپی که در CPU Stress Test
رفتار بسیار خوبی دارد
ممکن است هنگام Gaming یا Rendering ترکیبی
رفتار متفاوتی نشان دهد.
Shared Power Budget چیست؟
Shared Power Budget
یا «بودجه توان مشترک»
به شرایطی اشاره دارد که
چند بخش سیستم باید در چهارچوب
محدودیت توان کلی دستگاه فعالیت کنند.در چنین شرایطی افزایش مصرف یک بخش
می تواند بر توان قابل استفاده بخش دیگر اثر بگذارد.
در Stress Test دنبال چه خطاهایی هستیم؟
| نشانه | معنی کلی |
|---|---|
| Calculation Error | نتیجه محاسبه با مقدار مورد انتظار سازگار نیست |
| Application Crash | برنامه تست متوقف یا بسته می شود |
| System Freeze | سیستم پاسخ گویی عادی خود را از دست می دهد |
| BSOD | Windows با خطای بحرانی متوقف می شود |
| Restart | سیستم به صورت غیرمنتظره راه اندازی مجدد می شود |
| Shutdown | سیستم به صورت غیرمنتظره خاموش می شود |
| WHEA Error | Windows خطای سخت افزاری گزارش می کند |
| Severe Throttling | Performance به علت محدودیت شدید کاهش پیدا می کند |
Calculation Error چیست؟
Calculation Error
Calculation Error
یا «خطای محاسباتی»
زمانی است که نتیجه محاسبه
با نتیجه مورد انتظار تست مطابقت ندارد.بعضی Stress Testها
می توانند خروجی محاسبات را بررسی کنند
و در صورت مشاهده ناسازگاری
Error گزارش دهند.
Crash چیست؟
Crash
Crash
یعنی برنامه یا سیستم
به صورت غیرعادی متوقف شود.Crash به تنهایی مشخص نمی کند
CPU خراب است.
RAM، Driver، Software،
Power، Storage و عوامل دیگر
نیز می توانند دخیل باشند.
Freeze چیست؟
System Freeze
Freeze
یا «هنگ کردن»
وضعیتی است که سیستم
پاسخ گویی عادی خود را
برای مدتی طولانی یا کامل از دست می دهد.
BSOD چیست؟
BSOD
BSOD
مخفف Blue Screen of Death است
و به صفحه خطای بحرانی Windows گفته می شود.در فارسی معمولاً
«صفحه آبی ویندوز»
گفته می شود.
مشاهده BSOD هنگام Stress Test
نیازمند بررسی Error Code و سایر شواهد است.
نباید صرفاً از وجود BSOD
نتیجه بگیریم که CPU معیوب است.
WHEA چیست؟
WHEA
WHEA
مخفف Windows Hardware Error Architecture است.در فارسی می توان آن را
«معماری گزارش خطاهای سخت افزاری ویندوز»
توصیف کرد.
Windows از این سازوکار
برای دریافت و ثبت برخی خطاهای سخت افزاری
استفاده می کند.
Corrected Hardware Error چیست؟
Corrected Hardware Error
Corrected Hardware Error
یعنی خطای سخت افزاری گزارش شده ای
که سازوکار سخت افزار یا سیستم
توانسته آن را مدیریت یا تصحیح کند.وجود چنین خطایی
لزوماً باعث Crash نمی شود،
اما در بررسی Stability
نباید بدون تحلیل نادیده گرفته شود.
Machine Check چیست؟
Machine Check
Machine Check
مکانیزمی سخت افزاری
برای گزارش برخی خطاهای داخلی
پردازنده و زیرسیستم های مرتبط است.جزئیات Machine Check
به معماری CPU بستگی دارد
و تفسیر دقیق آن
نیازمند بررسی اطلاعات خطا است.
خیر.
یک Error می تواند
از CPU، RAM، Motherboard،
Power Delivery، Driver،
Firmware، Overclock،
Undervolt
یا حتی خود نرم افزار ناشی شود.
Stress Test محل کشف مشکل است؛
تشخیص قطعه معیوب
مرحله جداگانه ای از عیب یابی است.
Reproducibility چیست؟
Reproducibility
Reproducibility
در این Context
یعنی «قابلیت بازتولید نتیجه یا خطا».اگر یک Error
در شرایط مشخص
بارها به شکل مشابه تکرار شود،
اطلاعات بسیار ارزشمندتری
برای عیب یابی در اختیار داریم.
Intermittent Error چیست؟
Intermittent Error
یا «خطای متناوب»
خطایی است که
دائماً و در هر بار تست رخ نمی دهد.این نوع خطاها
معمولاً عیب یابی دشوارتری دارند.
Stress Test باید چند دقیقه یا چند ساعت اجرا شود؟
پاسخ واحدی برای تمام اهداف وجود ندارد.
مدت تست باید بر اساس
سؤالی که می خواهیم پاسخ دهیم
انتخاب شود.
| هدف | نوع تست مورد نیاز |
|---|---|
| بررسی واکنش اولیه CPU | تست کوتاه |
| مشاهده Burst Power | تست کوتاه |
| بررسی Cooling | تا نزدیک شدن به وضعیت حرارتی پایدار |
| بررسی Sustained Performance | تست طولانی تر |
| کشف خطای متناوب | ممکن است نیازمند تست طولانی و تکرار باشد |
| تست لپ تاپ برای فروش | ترکیبی از تست کوتاه، پایدار و کاربردی |
بنابراین عبارت هایی مانند
«Stress Test حتماً باید یک ساعت باشد»
بدون مشخص کردن هدف تست
بیش از حد ساده سازی شده اند.
چه زمانی Stress Test را متوقف کنیم؟
Stress Test نباید به مسابقه ای برای
آسیب زدن به سیستم تبدیل شود.
در صورت مشاهده رفتار غیرعادی،
تست باید متوقف و علت بررسی شود.
نمونه شرایط توقف و بررسی
- Crash مکرر.
- Freeze سیستم.
- Restart یا Shutdown غیرمنتظره.
- گزارش خطای محاسباتی.
- WHEA یا Hardware Error تکرارشونده.
- رفتار حرارتی غیرعادی.
- افت Performance شدید و غیرمنتظره.
- مشکل آشکار در عملکرد Fan.
- صدای مکانیکی غیرعادی.
- بوی غیرعادی یا نشانه فیزیکی مشکل.
چگونه سیستم خنک کننده یک لپ تاپ استوک را آزمایش کنیم؟
شرایط محیط را ثبت کنیددمای محیط و محل قرارگیری دستگاه روی نتیجه اثر دارند.
لپ تاپ را روی سطح مناسب قرار دهیدمسیر ورودی و خروجی هوا نباید مسدود باشد.
Power Mode را ثبت کنیدتنظیمات توان در تمام تست ثابت باشد.
دستگاه را به آداپتور مناسب متصل کنیدوضعیت منبع تغذیه باید مشخص و ثابت باشد.
دمای Idle را ثبت کنیدنقطه شروع تست مشخص شود.
Sensor Statistics را Reset کنیدداده های قبلی وارد تحلیل نشوند.
Logging را آغاز کنیدTemperature، Clock، Effective Clock، Power و Limitها ثبت شوند.
CPU Load را آغاز کنیداز Workload مشخص و تکرارپذیر استفاده شود.
رفتار چند دقیقه اول را بررسی کنیدBurst Performance و سرعت افزایش دما را مشاهده کنید.
اجازه دهید سیستم گرم شودتست باید برای ارزیابی Sustained Behavior ادامه پیدا کند.
Fan Behavior را بررسی کنیدواکنش سیستم خنک کننده به افزایش Load ثبت شود.
Clock و Power پایدار را بررسی کنیدببینید سیستم پس از گرم شدن در چه سطحی تثبیت می شود.
Limit Flags را بررسی کنیدمشخص کنید محدودیت حرارتی یا توان فعال شده است یا خیر.
تست را پایان دهیدرفتار سیستم هنگام کاهش Load نیز قابل بررسی است.
Log را تحلیل کنیدفقط Maximum Temperature را گزارش نکنید؛ Timeline را بخوانید.
Idle چیست؟
Idle
یعنی شرایطی که سیستم
بار کاری سنگینی انجام نمی دهد
و فعالیت پردازشی نسبتاً کم است.Idle به معنی صفر بودن کامل فعالیت CPU نیست،
زیرا سیستم عامل و سرویس های پس زمینه
همچنان می توانند فعالیت داشته باشند.
Thermal Recovery چیست؟
Thermal Recovery
Thermal Recovery
یا «بازگشت حرارتی»
به رفتار سیستم پس از کاهش یا حذف Load اشاره دارد.بررسی سرعت کاهش دما
و رفتار Fan بعد از پایان تست
می تواند اطلاعات تکمیلی
درباره سیستم خنک کننده بدهد.
در لپ تاپ استوک دقیقاً دنبال چه چیزی هستیم؟
هدف فقط رسیدن به پایین ترین دمای ممکن نیست.
یک سیستم سالم و درست تنظیم شده
ممکن است عمداً اجازه دهد CPU
در دمای نسبتاً بالا کار کند
تا Performance بیشتری ارائه دهد.
بنابراین باید مجموعه رفتار را بررسی کنیم:
Temperature
+
Clock
+
Effective Clock
+
Power
+
Fan Behavior
+
Performance
+
Errors
فرض کنید دو لپ تاپ با CPU مشابه داریم.
Laptop A:
80°C
|
20W
|
2.5 GHz
Laptop B:
88°C
|
35W
|
3.5 GHz
از روی Temperature به تنهایی
ممکن است Laptop A بهتر به نظر برسد.
اما Laptop B
توان بیشتری را دفع می کند
و Performance بالاتری ارائه می دهد.
بنابراین:
Lower Temperature
≠
Automatically Better Cooling
Cooling Capacity چیست؟
Cooling Capacity
Cooling Capacity
یا «ظرفیت خنک کنندگی»
به توان سیستم خنک کننده
برای انتقال و دفع گرما اشاره دارد.ارزیابی عملی Cooling Capacity
فقط از روی دمای CPU ممکن نیست؛
مقدار توان دفع شده و Performance حفظ شده نیز مهم هستند.
Delta T چیست؟
Delta T
Delta T
یا ΔT
یعنی «اختلاف دما».در تحلیل Cooling
می توان اختلاف دمای CPU
نسبت به دمای محیط را بررسی کرد.
ΔT
=
CPU Temperature
–
Ambient Temperature
این روش کمک می کند
مقایسه دو تست که در دمای محیط متفاوت انجام شده اند
تا حدی معنی دارتر شود.
Ambient Temperature چیست؟
Ambient Temperature
یعنی «دمای محیط».دمای هوای اطراف دستگاه
می تواند مستقیماً روی رفتار سیستم خنک کننده اثر بگذارد.
آیا صدای فن هم بخشی از ارزیابی است؟
بله.
دو لپ تاپ ممکن است
Performance و Temperature مشابهی داشته باشند،
اما یکی برای رسیدن به آن نتیجه
Fan را با سرعت بسیار بیشتری اجرا کند.
بنابراین ارزیابی کامل دستگاه می تواند شامل:
- Performance
- Temperature
- Power
- Fan Speed
- Noise
باشد.
Noise-Normalized Performance چیست؟
Noise-Normalized Performance
یا «عملکرد در سطح نویز کنترل شده»
روشی برای مقایسه سیستم ها
در شرایطی است که میزان صدای تولیدی
تا حد امکان هم سطح نگه داشته می شود.این روش در بررسی کیفیت طراحی Cooling
می تواند اطلاعات بیشتری
از مقایسه صرف دما ارائه دهد.
Stress Test بعد از سرویس لپ تاپ
پس از باز کردن سیستم Cooling،
تعویض Thermal Paste،
تعمیر Fan
یا سرویس کامل دستگاه،
اجرای تست کنترل شده اهمیت زیادی دارد.
باید نتیجه قبل و بعد
تحت شرایط مشابه مقایسه شود.
Before Service
→
Controlled Test
→
Service
→
Same Controlled Test
→
Compare
در غیر این صورت ممکن است
بهبود یا بدتر شدن سیستم
صرفاً ناشی از تفاوت شرایط تست باشد.
Baseline چرا اهمیت دارد؟
اگر دستگاه قبل از سرویس
تست و ثبت شده باشد،
یک Baseline برای مقایسه داریم.
سپس می توانیم بررسی کنیم:
- Temperature چه مقدار تغییر کرده است.
- Package Power چه مقدار تغییر کرده است.
- Effective Clock بهتر حفظ می شود یا خیر.
- Performance افزایش یافته یا خیر.
- Fan Behavior تغییر کرده یا خیر.
ماتریس پیشنهادی تست CPU در لپ تاپ استوک
| مرحله | هدف | چه چیزی بررسی شود؟ |
|---|---|---|
| Idle Check | بررسی وضعیت پایه | دما، Background Load، Fan |
| Short CPU Load | بررسی Burst | Clock، Power، Temperature |
| Sustained CPU Load | بررسی Cooling | Steady Clock، Power، Thermal Limit |
| Stability Test | بررسی Error | Calculation Error، Crash، WHEA |
| Combined CPU+GPU Load | بررسی رفتار مشترک سیستم | Power Sharing، Cooling، Clock |
| Real-World Workload | بررسی کاربرد واقعی | Performance واقعی نرم افزار |
| Recovery | بررسی بازگشت حرارتی | کاهش دما و رفتار Fan |
معیار Pass شدن یک Stress Test چیست؟
Pass Criteria
یا «معیار قبولی»
باید قبل از تست تعریف شود.
نمونه معیارها:
- تست برای مدت مورد نظر کامل شود.
- Calculation Error ثبت نشود.
- Crash یا Freeze رخ ندهد.
- Restart یا Shutdown غیرمنتظره رخ ندهد.
- Hardware Error مرتبط ثبت نشود.
- رفتار حرارتی در محدوده مورد انتظار همان دستگاه باشد.
- Performance به شکل غیرعادی سقوط نکند.
Fail Criteria چیست؟
Fail Criteria
یا «معیار شکست آزمون»
شرایطی است که در صورت وقوع آنها
تست ناموفق در نظر گرفته می شود
یا نیاز به بررسی بیشتر دارد.
گزارش حرفه ای Stress Test چه اطلاعاتی دارد؟
| اطلاعات | چرا مهم است؟ |
|---|---|
| مدل کامل لپ تاپ | شناسایی دستگاه |
| مدل CPU | شناسایی پردازنده |
| RAM Configuration | شرایط سیستم |
| Power Mode | تکرارپذیری |
| AC / Battery | رفتار توان |
| Ambient Temperature | مقایسه حرارتی |
| Stress Workload | شناخت نوع فشار |
| Test Duration | شناخت مدت فشار |
| Maximum Temperature | ثبت اوج دما |
| Sustained Temperature | رفتار پایدار حرارتی |
| Package Power | تحلیل توان |
| Effective Clock | تحلیل Performance واقعی |
| Thermal / Power Flags | تشخیص محدودیت |
| Error | بررسی Stability |
| نتیجه نهایی | Pass / نیازمند بررسی |
در فروش لپ تاپ استوک،
عبارت ساده «تست شده»
اطلاعات فنی زیادی به مشتری نمی دهد.
استاندارد بهتر این است که
دستگاه طبق یک پروتکل مشخص بررسی شود
و نتیجه قابل تکرار داشته باشد.
چنین روشی می تواند
تفاوت میان یک ادعای بازاریابی
و یک فرآیند واقعی کنترل کیفیت باشد.
آیا Stress Test عمر آینده لپ تاپ را تضمین می کند؟
خیر.
Stress Test وضعیت سیستم
در زمان و شرایط آزمایش را بررسی می کند.
نمی توان از موفقیت یک تست محدود
نتیجه گرفت که قطعه
برای چند سال آینده قطعاً بدون خرابی کار خواهد کرد.
نتیجه دقیق تر این است:
در تست انجام شده و شرایط ثبت شده،
خطای مورد نظر مشاهده نشد.
این جمله از نظر فنی
بسیار دقیق تر و قابل دفاع تر است.
سوالات متداول Stress Test پردازنده
Stress Test چیست؟
آزمونی است که CPU یا بخش دیگری از سیستم
را برای بررسی پایداری، حرارت
و رفتار تحت فشار
در Load سنگین قرار می دهد.
Stress Test با Benchmark چه تفاوتی دارد؟
Benchmark عمدتاً Performance را اندازه گیری می کند،
در حالی که Stress Test
بیشتر برای بررسی پایداری و رفتار سیستم تحت فشار استفاده می شود.
آیا 100 درصد CPU Usage برای Stress Test کافی است؟
خیر.
نوع Workload و Instruction Mix
می تواند مصرف توان و فشار حرارتی
بسیار متفاوتی ایجاد کند.
آیا داغ ترین تست بهترین Stress Test است؟
الزاماً خیر.
نوع تست باید متناسب با هدف آزمایش انتخاب شود.
Stress Test باید چند ساعت اجرا شود؟
زمان ثابت جهانی وجود ندارد.
مدت تست باید بر اساس هدف،
نوع Workload و نوع خطایی که بررسی می شود تعیین شود.
آیا Pass شدن Stress Test یعنی CPU کاملاً سالم است؟
خیر.
فقط نشان می دهد در شرایط همان تست
خطای مورد نظر مشاهده نشده است.
WHEA Error چیست؟
خطایی است که از طریق
Windows Hardware Error Architecture
به سیستم عامل گزارش می شود
و می تواند برای تشخیص مشکلات سخت افزاری مفید باشد.
اگر Stress Test Crash کند یعنی CPU خراب است؟
الزاماً خیر.
RAM، Power، Firmware، Driver
و عوامل دیگر نیز باید بررسی شوند.
چرا CPU+GPU را هم زمان تست کنیم؟
زیرا در لپ تاپ
Cooling و Power Budget
می توانند میان CPU و GPU مشترک باشند.
دمای کمتر یعنی Cooling بهتر؟
الزاماً خیر.
باید Temperature را همراه
Package Power و Performance بررسی کرد.
Heat Soak چیست؟
گرم شدن تدریجی اجزای سیستم خنک کننده و بدنه
در اثر ادامه Load است.
آیا Stress Test برای لپ تاپ استوک مهم است؟
بله.
می تواند در کنار سایر آزمون ها
برای بررسی Cooling،
Performance پایدار
و کشف برخی مشکلات پنهان استفاده شود.
اصطلاحات جدید این فصل
- Stress Test: آزمون فشار سخت افزار.
- Stability: پایداری سیستم در شرایط مشخص.
- Stress Workload: بار کاری طراحی شده برای ایجاد فشار.
- Instruction Mix: ترکیب دستورهای اجرا شده توسط Workload.
- AVX: افزونه های پیشرفته برداری.
- Vector Operation: عملیات برداری روی چند داده.
- Worst-Case Stress: آزمون نزدیک به شرایط بسیار سنگین.
- Realistic Sustained Load: بار پایدار نزدیک به کاربرد واقعی.
- Thermal Stress: فشار حرارتی وارد بر سیستم.
- Thermal Equilibrium: وضعیت نسبتاً پایدار حرارتی.
- Heat Soak: گرم شدن تدریجی اجزای سیستم در Load طولانی.
- Heatsink: گرماگیر.
- Heatpipe: لوله انتقال حرارت.
- Power Stress: فشار ناشی از شرایط مصرف توان بالا.
- Combined Load: بار هم زمان روی چند بخش سیستم.
- Shared Power Budget: بودجه توان مشترک بخش های سیستم.
- Calculation Error: خطای محاسباتی.
- Crash: توقف غیرعادی برنامه یا سیستم.
- Freeze: از دست رفتن پاسخ گویی سیستم.
- BSOD: صفحه خطای بحرانی Windows.
- WHEA: معماری گزارش خطاهای سخت افزاری Windows.
- Corrected Hardware Error: خطای سخت افزاری تصحیح یا مدیریت شده.
- Machine Check: مکانیزم سخت افزاری گزارش برخی خطاها.
- Reproducibility: قابلیت بازتولید نتیجه یا خطا.
- Intermittent Error: خطای متناوب.
- Idle: وضعیت بار پردازشی پایین.
- Thermal Recovery: رفتار بازگشت حرارتی پس از Load.
- Cooling Capacity: ظرفیت سیستم برای دفع گرما.
- Delta T: اختلاف میان دو دما.
- Ambient Temperature: دمای محیط.
- Noise-Normalized Performance: مقایسه Performance در سطح نویز کنترل شده.
- Pass Criteria: معیارهای قبولی آزمون.
- Fail Criteria: معیارهای شکست آزمون.
خلاصه فصل
Stress Test ابزاری برای
«داغ کردن CPU» نیست؛
یک آزمایش کنترل شده برای بررسی رفتار سیستم تحت فشار است.
Proper Stress Testing
=
Defined Goal
+
Controlled Conditions
+
Relevant Workload
+
Sensor Logging
+
Error Monitoring
+
Correct Interpretation
برای لپ تاپ،
فقط Peak Temperature مهم نیست.
باید بررسی کنیم دستگاه
پس از Heat Soak
چه مقدار Power و Effective Clock را حفظ می کند
و آیا Error یا محدودیت غیرعادی مشاهده می شود.
همچنین دمای پایین تر
همیشه به معنی Cooling بهتر نیست؛
زیرا ممکن است دستگاه سردتر
به دلیل Power Limit شدیدتر
Performance کمتری ارائه دهد.
در نهایت Stress Test
باید به یک سؤال مشخص پاسخ دهد:
آیا این سیستم می تواند Workload مورد نظر را
برای مدت مورد نیاز،
با Performance قابل انتظار
و بدون خطای مشاهده شده اجرا کند؟
