آموزش محدود کردن cpu توسط ابزار cpulimit در لینوکس
توسط ابزار مدیریتی قدرتمند cpulimit به راحتی میتوانیم پروسههای سنگین سیستمی در لینوکس را تحت کنترل داشته باشیم. در این مقاله به محدود کردن cpu توسط این ابزار خواهیم پرداخت.
نصب ابزار cpulimit به منظور محدود کردن cpu در لینوکس
ابزار cpulimit به صورت پیشفرض توسط مخزن دیفالت اوبونتو و دبیان قابل نصب و راهاندازی میباشد بدین منظور فقط کافی است تا دستور زیر را با دسترسی روت در لینوکس وارد نمایید.
۱
|
sudo apt install cpulimit
|
در توزیعهای ردهت بیس مثل centos و fedora ابتدا باید مخزن epel را نصب و سپس از طریق دستور پکیج منیجر yum اقدام به نصب آن کنید.
۱
۲
|
yum install epel–release
yum install cpulimit
|
نحوه محدود کردن cpu توسط cpulimit
ابتدا توسط دستور dd بر روی سرور یک cpu usage سنگین ایجاد میکنیم تا سرور را در حالت آزمایشگاهی زیر فشار قرار دهیم
۱
|
dd if=/dev/zero of=/dev/null &
|
حالا توسط دستور top پروسههای در حال اجرای لینوکس را مشاهده میکنیم تا از مقدار لود ایجاد شده بر روی سرور مطلع شویم.
۱
|
Top
|
همانطور که در عکس زیر مشاهده میکنید مقدار Cpu اشغال شده توسط دستور dd به ۱۰۰% مقدار منابع موجود رسیده و سرور زیر لود سنگین هندل کردن این پروسه قرار گرفته است.
توسط سوییچهای pid– و یا p- میتوانیم شماره process id مربوط به dd را برای این دستور مشخص کنیم و توسط سوییچ limit– و یا l- میتوانیم مقدار محدودیت موردنظر خود را به صورت درصد برای این دستور تعیین کنیم.
۱
۲
|
sudo cpulimit —pid ۱۷۹۱۸ —limit ۵۰
Process ۱۷۹۱۸ detected
|
بعد از اجرای دستور بالا حالا دوباره دستور dd را اجرا میکنیم تا میزان تغییرات اعمال شده بر روی سرور را مشاهده کنیم.
خوب همانطور که مشاهده میکنید میزان cpu استفاده شده توسط دستور dd به مقدار ۵۱% کاهش پیدا کرد که نشان دهنده عملکرد صحیح ابزار cpulimit هستش
حالا دوباره مقدار محدودیت را افزایش داده و به مقدار ۲۰% میرسانیم
۱
|
sudo cpulimit —pid ۱۷۹۱۸ —limit ۲۰
|
همانطور که در تصویر زیر مشاهده میکنید مقدار استفاده به ۲۰-۲۵ درصد کل cpu سرور کاهش پیدا کرد که خود این امر اهمیت استفاده از این ابزار را برای مدیر سرور مشخص میکند.
برای اجرای cpulimit در پسزمینه از background– و یا b- میتوانید استفاده کنید.
۱
|
sudo cpulimit —pid ۱۷۹۱۸ —limit ۲۰ —background
|
توسط cpu– و یا c- میتوانیم تعداد هستههای سی پیو که میخواهیم این محدودیت برای آنان لحاظ شود را مشخص کنیم.
۱
|
sudo cpulimit —pid ۱۷۹۱۸ —limit ۲۰ —cpu ۴
|
خوب همانطور که مشاهده کردید به راحتی و توسط ابزار cpulimit توانستیم با محدود کردن cpu میزان لود سرور را تحت کنترل درآوریم و از ایجاد مشکلات جدی همچون کند شدن و یا دان شدن سرور جلوگیری کنیم.
و طبق معمول در لینوکس برای مشاهده help هر دستور میتوانید از man در ابتدای هر دستور استفاده کنید.
۱
|
Man cpulimit
|