در بسیاری از سناریوهای مدیریتی و عملیاتی در سیستمعامل لینوکس، مدیران سیستم و متخصصان زیرساخت نیاز دارند عملکرد سختافزار را تحت شرایط سنگین بررسی کنند. یکی از مهمترین این بررسیها، تست فشار یا Stress Test روی پردازنده (CPU) است. این نوع آزمایشها به شما کمک میکنند تا میزان پایداری سیستم، توان پردازشی و نحوه واکنش سیستم در شرایط بار سنگین را ارزیابی کنید.در لینوکس ابزارهای متعددی برای انجام تست فشار وجود دارند که یکی از قدرتمندترین و در عین حال سادهترین آنها ابزار stress-ng است. این ابزار امکان ایجاد فشار مصنوعی روی بخشهای مختلف سیستم از جمله CPU، حافظه، دیسک و سایر منابع را فراهم میکند و برای بررسی عملکرد سرورها، سیستمهای مجازی و حتی کامپیوترهای شخصی بسیار کاربردی است.
در این مطلب با نحوه نصب و استفاده از ابزار stress-ng آشنا میشویم و یاد میگیریم چگونه با استفاده از آن تست فشار CPU در لینوکس را انجام دهیم.
ابزار stress-ng چیست؟
ابزار stress-ng یکی از ابزارهای قدرتمند در لینوکس برای انجام تست فشار روی اجزای مختلف سیستم است. این ابزار نسخه پیشرفتهتری از ابزار قدیمی stress محسوب میشود و امکانات بیشتری در اختیار کاربران قرار میدهد.
با استفاده از stress-ng میتوان فشار کنترلشدهای بر منابع مختلف سیستم وارد کرد تا رفتار سیستم در شرایط بار بالا مورد بررسی قرار گیرد. این ابزار از صدها روش مختلف برای ایجاد فشار روی سیستم استفاده میکند و میتواند برای اهدافی مانند موارد زیر مورد استفاده قرار گیرد:
- تست پایداری سیستم
- بررسی عملکرد پردازنده
- ارزیابی توان سرورها
- بررسی عملکرد سیستم در شرایط بار سنگین
- آزمایش سیستم پس از ارتقای سختافزار
از آنجا که stress-ng میتواند فشار قابل توجهی روی سیستم ایجاد کند، بهتر است هنگام استفاده از آن به وضعیت سیستم توجه داشته باشید تا از بروز مشکلات احتمالی جلوگیری شود.
نصب stress-ng در لینوکس
ابزار stress-ng در مخازن بسیاری از توزیعهای لینوکس موجود است و میتوان آن را به سادگی با استفاده از مدیر بسته نصب کرد.
نصب در Debian و Ubuntu
در توزیعهایی که بر پایه Debian هستند مانند Ubuntu میتوان با دستور زیر این ابزار را نصب کرد:
sudo apt install stress-ng
نصب در RHEL، Rocky Linux و AlmaLinux
در توزیعهای مبتنی بر Red Hat میتوانید از دستور زیر استفاده کنید:
sudo dnf install stress-ng
نصب در Fedora
در Fedora نیز نصب این ابزار با استفاده از مدیر بسته dnf انجام میشود:
sudo dnf install stress-ng
نصب در Arch Linux
در Arch Linux میتوانید از دستور زیر استفاده کنید:
sudo pacman -S stress-ng
پس از نصب، ابزار stress-ng آماده استفاده خواهد بود و میتوانید تستهای مختلفی روی سیستم اجرا کنید.
اجرای یک تست ساده CPU با ابزار stress-ng
یکی از سادهترین روشها برای بررسی عملکرد CPU در لینوکس، اجرای یک تست فشار روی پردازنده است. ابزار stress-ng این امکان را فراهم میکند که تعداد مشخصی از پردازندهها را برای مدت زمان مشخصی درگیر پردازش کنید.
به عنوان مثال دستور زیر یک تست فشار CPU را اجرا میکند:
stress-ng --cpu 4 --timeout 60s
در این دستور:
- گزینه cpu 4– مشخص میکند که چهار پردازنده برای انجام تست استفاده شوند.
- گزینه timeout 60s– تعیین میکند که تست به مدت ۶۰ ثانیه اجرا شود.
در طول اجرای این تست، پردازندههای مشخص شده با عملیات محاسباتی درگیر میشوند و بار قابل توجهی روی CPU ایجاد میشود.
استفاده از تمام هستههای CPU
اگر قصد دارید از تمام هستههای پردازنده برای انجام تست استفاده کنید، میتوانید مقدار cpu را برابر با صفر قرار دهید. در این حالت ابزار stress-ng به صورت خودکار تمام هستههای موجود را درگیر میکند.
stress-ng --cpu 0 --timeout 60s
این دستور باعث میشود تمامی هستههای پردازنده برای مدت یک دقیقه درگیر پردازش شوند.
اجرای تست CPU با تعداد عملیات مشخص
در برخی موارد ممکن است بخواهید تست بر اساس تعداد مشخصی از عملیات پردازشی اجرا شود. در این حالت میتوانید از گزینه –cpu-ops استفاده کنید.
stress-ng --cpu 2 --cpu-ops 10000000
در این مثال:
- دو هسته CPU درگیر پردازش خواهند شد
- تست پس از انجام ده میلیون عملیات پردازشی به پایان میرسد
این روش برای انجام تستهای دقیقتر بسیار کاربردی است.
اجرای تست CPU همراه با نمایش آمار
یکی از قابلیتهای مفید stress-ng امکان نمایش آمار عملکرد در پایان تست است. برای این کار میتوان از گزینه metrics-brief– استفاده کرد.
stress-ng --cpu 4 --timeout 60s --metrics-brief
پس از پایان اجرای تست، اطلاعاتی درباره عملکرد CPU و میزان عملیات انجام شده نمایش داده میشود که میتواند در تحلیل عملکرد سیستم بسیار مفید باشد.
اجرای چند نوع تست به طور همزمان
یکی از قابلیتهای پیشرفته stress-ng این است که میتواند چندین نوع تست را به صورت همزمان اجرا کند. برای مثال میتوان CPU و حافظه را به طور همزمان تحت فشار قرار داد.
به عنوان مثال:
stress-ng --cpu 2 --vm 2 --timeout 60s
در این دستور:
- دو پردازش برای فشار روی CPU ایجاد میشود
- دو پردازش برای استفاده از حافظه اجرا میشود
- تست به مدت یک دقیقه اجرا خواهد شد
این نوع تستها به شما کمک میکنند شرایط واقعیتر سیستم را شبیهسازی کنید.

بررسی عملکرد سیستم در هنگام اجرای تست
هنگامی که تست فشار در حال اجرا است، بهتر است وضعیت سیستم را هم بررسی کنید. برای این کار میتوان از ابزارهای مانیتورینگ لینوکس استفاده کرد تا میزان استفاده از CPU، حافظه و سایر منابع مشاهده شود.
به عنوان مثال ابزارهای زیر برای بررسی وضعیت سیستم کاربرد دارند:
- top
- htop
- uptime
با استفاده از این ابزارها میتوان مشاهده کرد که چگونه اجرای stress-ng باعث افزایش بار پردازنده میشود.
برای پروژههای مهم خود به دنبال سرور مطمئن هستید؟ خرید سرور مجازی با IP ثابت و سرعت بالا در پارسدو، گزینهای ایدهآل است.
چه زمانی باید از تست فشار CPU استفاده کنیم؟
تست فشار CPU در شرایط مختلفی میتواند مفید باشد. برخی از رایجترین کاربردهای آن عبارتند از:
بررسی پایداری سرور
مدیران سیستم اغلب پس از نصب یک سرور جدید یا ارتقای سختافزار از تست استرس استفاده میکنند تا مطمئن شوند سیستم در شرایط بار سنگین هم پایدار باقی میماند.
آزمایش سیستمهای مجازی
در محیطهای مجازیسازی، اجرای تست فشار میتواند به بررسی توان پردازشی ماشینهای مجازی کمک کند.
ارزیابی عملکرد سیستم
اگر احساس میکنید سیستم شما عملکرد مناسبی ندارد، اجرای تست استرس میتواند کمک کند محدودیتهای سختافزاری سیستم را شناسایی کنید.
تست سیستم پس از اورکلاک
در سیستمهایی که پردازنده اورکلاک شده است، تست فشار میتواند برای بررسی پایداری سیستم بسیار مفید باشد.
نکات مهم هنگام استفاده از stress-ng
پیش از اجرای تست فشار CPU بهتر است چند نکته مهم را در نظر داشته باشید:
- اجرای تست فشار میتواند مصرف CPU را به ۱۰۰ درصد برساند.
- در سیستمهای ضعیف ممکن است باعث کاهش پاسخگویی سیستم شود.
- در سرورهای پروداکشن بهتر است این تستها در زمانهای کمبار اجرا شوند.
- بهتر است هنگام اجرای تست، دمای پردازنده نیز بررسی شود.
با رعایت این نکات میتوان از ابزار stress-ng به شکل ایمن و موثر استفاده کرد.
جمعبندی
ابزار stress-ng یکی از قدرتمندترین ابزارهای موجود در لینوکس برای انجام تست فشار روی منابع سیستم است. با استفاده از این ابزار میتوان عملکرد پردازنده، حافظه و سایر اجزای سیستم را در شرایط بار سنگین بررسی کرد.
در این مطلب با نحوه نصب stress-ng در توزیعهای مختلف لینوکس آشنا شدیم و یاد گرفتیم چگونه با استفاده از دستورات مختلف، تست فشار CPU در لینوکس را اجرا کنیم. همچنین دیدیم که چگونه میتوان با استفاده از گزینههای مختلف این ابزار، تستهای دقیقتری انجام داد و آمار عملکرد سیستم را بررسی کرد.
اگر مدیر سیستم، توسعهدهنده یا کاربر حرفهای لینوکس هستید، آشنایی با ابزار stress-ng میتواند به شما کمک کند تا عملکرد سیستم خود را بهتر ارزیابی کنید و از پایداری آن در شرایط مختلف اطمینان حاصل نمایید.