اعمال محدودیت در میزان مصرف پردازنده توسط برنامه‌های نصب شده روی لینوکس(اوبونتو، دبیان، فدورا)

به بزرگواری خودتون این تیترای زشت و زمخت رو ببخشید. حقیقت اینه که من اصلا مهارتی در انتخاب یک تیتر مناسب مث همونایی که تو روزنامه ها و وبلاگای معروف مي بینیم ، ندارم! برای اینکه خیلی دور نشیم از اصل ماجرا موضوع از این قراره که هر برنامه ای که شما اون رو اجرا می کنید،‌ یه میزانی از پردازشگر رو به خودش اختصاص می‌ده. حالا این میزان چقدره!؟ این میزان به خود برنامه ربط داره! و سیستم عامل در حالت کلی جلوی برنامه رو نمی‌گیره! یعنی یه برنامه ممکنه ۳۰ درصد اول کار استفاده کنه و بعد وسطاش به ۴۰ درصد هم برسه. حالا کاری که ما می‌خوایم بکنیم ایجاد محدودیت روی این دست از برنامه‌هاست. یعنی شما هر برنامه و یا هر پروسه ای که در حال اجرا شدن هست رو می‌تونید براش یک سقفی تعیین کنید. معمولا اینکار  برای برنامه‌هایی که از تمام پردازشگر استفاده می‌کنند انجام می شه تا آدم بتونه به کارای دیگش هم برسه. مثلا شما در نظر بگیرید دارید یه انیمیشن یک ساعتی رو رندر می‌کنید! خوب اگه حالت عادی باشه باید یه شب تا صب رو به کار رندر اختصاص بدید.  برای اینکار ما باید از  برنامه (cpu limit) استفاده کنیم.

دانلود و نصب برنامه

اوبونتو

$ sudo apt-get install cpulimit

تیک مخازن یونیورسال اوبونتو رو بزنید.

نصب برنامه در بقیه توزیع‌ها

$ wget http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz
$ tar-zxf cpulimit * xxx.tar.gz
$ cd cpulimit-xxx
$ make

طرز استفاده

برای استفاده از برنامه، شما باید اسم برنامه و یا پروسه آی دی آن برنامه رو داشته باشید تا بتوانید محدودیت خود را بر روی برنامه اعمال کنید.

مثال

اگر شما می‌خواید سقف فایرفاکس در میزان مصرف پردازشگر سی درصد باشه باید از دستور زیر استفاده کنید

cpulimit firefox-e-l 30

و یا می‌تونید برای پروسه‌ای به شماره ۳۶۷۵ تا سقف ۴۰ درصد محدودیت بزارید.

cpulimit-p 3675-l 40

و یا به جای شماره پروسه، می‌تونید مسیر برنامه رو هم بدید.

cpulimit-P / l usr/lib/firefox-3.0.11/firefox-30

و یا می تونید برای اسکریپت اجرایی از طریق اسم و یا مسیر اون ایجاد محدودیت کنید (مثلا اسکریپت bigloop)

cpulimit –exe bigloop –limit 40
cpulimit –exe /usr/local/bin/bigloop –limit 40

اون P  مخفف پروسس آی‌دی و l هم  مخفف لیمیت(محدودیت) و e هم مخفف اجرایی (exe)‌هست.

cpulimit –pid 2960 –limit 55

در نسخه توسعه‌ای برنامه شما از دستور زیر هم می‌تونید استفاده کنید.

cpulimit –limit 40 /etc/rc.d/rc.boinc start

توجه

اگر پردازشگر شما تک هسته‌ای هست که می تونید بین ۰ تا ۱۰۰ عدد بدید و ۵۰ درصد یعنی برنامه ، در هر ثانیه بیشتر از ۵۰۰ میلی ثانیه از پردازشگر شما نمی‌تونه مصرف کنه! اما اگر شما پردازشگر ۴ هسته‌ای دارید، شما از بین صفر تا ۴۰۰ درصد مجاز به ایجاد محدودیت هستید.

سایت برنامه

منبع

تو این مدت یه  عید آمد و گذشت و به من یکی چندان خوش نگذشت! برای اینکه به شما بد نگذره این پوسته رو هم از من قبول کنید!‌ یک پوسته سیاه و آماده شده برای استفاده راحت در اوبونتو و دبیان به حجم تقریبی ۱۵ مگ که مناسب حال این روزای ماست.

دیدگاه‌ها

3 پاسخ به “اعمال محدودیت در میزان مصرف پردازنده توسط برنامه‌های نصب شده روی لینوکس(اوبونتو، دبیان، فدورا)”

  1. javad33 نیم‌رخ

    آقا نوید سلام.
    ممنون از این همه مطالبی که با این سرعت منتشر میکنی!
    تیتر و اینا رو بیخیال محتوا مهمه که خواننده جمع میکنه :)
    قلمت پرجوهر باد!

    1. erghezi نیم‌رخ

      سلام. نظر لطفته ( قلمت پر جوهر باد!)
      تیکه رو خوب اومدی(جمع کردن فله‌ای خواننده) :))
      سفر به خیر و خوشی که بود!؟‌این ماجرای آنفولانزا چی چی بود!؟ شما قرنطینه خوابیدین؟ :)

  2. یه‌انقلابی نیم‌رخ

    با سلام
    احسنت به این تم
    یا علی

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

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