مجازی سازیمقالات وب

چگونه به کمک ابزار CPULimit در لینوکس، مصرف CPU فرایندها را محدود کنیم؟

در این مقاله قصد داریم در مورد با هم صحبت کنیم. همانطور که می دانید این برای محدود کردن مصرف فرآیند مورد استفاده قرار می گیرد. در ادامه این موضوع را مورد بررسی قرار می دهیم. پس همراه ایده باشید.

   ابزار cpulimit برای محدود کردن فرآیندها در لینوکس:

ابزار cpulimit را می توان از مخزن پیش فرض ن افزار در یا نصب کرد.

$ sudo apt install cpulimit

در RHEL/CentOS و نیز فدورا، باید در ابتدا EPEL repository را فعال کنید و سپس این ابزار را نصب نمایید:

# yum install epel-release
# yum install cpulimit

محدود کردن مصرف CPU فرآیندها به کمک CUPLimit:

در این بخش، نحوه کار با این ابزار را نشان خواهیم داد. اول از هر کاری، اجازه دهید دستوری را اجرا کنیم که  منجر به درصد بالای CPU می شود.

$ dd if=/dev/zero of=/dev/null &

[۱] ۱۷۹۱۸

در مرحله بعدی می توانیم از ابزارهای Top  یا glances استفاده کنیم تا بتوانیم خروجی وضعیت به روز شده واقعی لینوکس در حال اجرا را مشاهده نماییم  و مصرف CPU دستور بالا را مورد بررسی قرار دهیم:

$ top

اگر نگاهی به خروجی بالا بیندازیم، متوجه می شویم که فرآیند dd درصد بالایی از CPUرا مورد استفاده قرار می دهد. اما ما می توانیم این مصرف را به کمک ابزاری که در ابتدای مقاله معرفی کردیم محدود سازیم.  گزینه های –pid   یا -p   برای مشخص کردن PID و –limit   یا -l  برای تنظیم درصد مصرف یک فرآیند مورد استفاده قرار می گیرد. دستور زیر مصرف CPU دستور dd را به ۵۰ درصد کاهش می دهد.

$ sudo cpulimit –pid 17918 –limit 50

Process 17918 detected

بعد از اینکه cpulimit را اجرا کردیم، می توانیم مصرف فعلی CPU برای دستور dd را به کمک top یا glances مشاهده کنیم. می توانیم برای بار دوم مصرف CPU را به کمک دستور زیر کاهش دهیم:

$ sudo cpulimit –pid 17918 –limit 20

Process 17918 detected

باز هم می توانیم برای مشاهده مصرف cpu جدید این فرآیند از top یا glances استفاده کنیم.

$ top

برای اینکه بتوانید cpulimit را به فرایند بک گراند اجرا کنید از گزینه های –background  یا -b  استفاده کنید.

$ sudo cpulimit –pid 17918 –limit 20 –background

برای مشخص کردن تعداد هسته های CPU که بر روی سیستم وجود دارد می توانید از –cpu  یا -c  استفاده کنید.

$ sudo cpulimit –pid 17918 –limit 20 –cpu 4

به جای اینکه مصرف CPU فرایند را محدود کنیم می توانیم آن را به کمک گزینه های –kill  یا -k  ببندیم. سیگنال پیش فرضی که برای فرایند ارسال می شود ، SIGCONT است اما می توانید  به کمک flag های –signal   یا -s  سیگنال های متفاوتی ارسال کنید.

$ sudo cpulimit –pid 17918 –limit 20 –kill

 اگر هیچ فرآیند هدف مناسبی وجود نداشت می توانید همانند دستور زیر از -z یا –lazy  برای خروج استفاده کنید.

$ sudo cpulimit –pid 17918 –limit 20 –kill –lazy

برای دریافت اطلاعات بیشتر و گزینه های مصرف، صفحه man  را مشاهده کنید.

$ man cpulimit

Rate this post
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن