به بزرگواری خودتون این تیترای زشت و زمخت رو ببخشید. حقیقت اینه که من اصلا مهارتی در انتخاب یک تیتر مناسب مث همونایی که تو روزنامه ها و وبلاگای معروف مي بینیم ، ندارم! برای اینکه خیلی دور نشیم از اصل ماجرا موضوع از این قراره که هر برنامه ای که شما اون رو اجرا می کنید، یه میزانی از پردازشگر رو به خودش اختصاص میده. حالا این میزان چقدره!؟ این میزان به خود برنامه ربط داره! و سیستم عامل در حالت کلی جلوی برنامه رو نمیگیره! یعنی یه برنامه ممکنه ۳۰ درصد اول کار استفاده کنه و بعد وسطاش به ۴۰ درصد هم برسه. حالا کاری که ما میخوایم بکنیم ایجاد محدودیت روی این دست از برنامههاست. یعنی شما هر برنامه و یا هر پروسه ای که در حال اجرا شدن هست رو میتونید براش یک سقفی تعیین کنید. معمولا اینکار برای برنامههایی که از تمام پردازشگر استفاده میکنند انجام می شه تا آدم بتونه به کارای دیگش هم برسه. مثلا شما در نظر بگیرید دارید یه انیمیشن یک ساعتی رو رندر میکنید! خوب اگه حالت عادی باشه باید یه شب تا صب رو به کار رندر اختصاص بدید. برای اینکار ما باید از برنامه (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
توجه
اگر پردازشگر شما تک هستهای هست که می تونید بین ۰ تا ۱۰۰ عدد بدید و ۵۰ درصد یعنی برنامه ، در هر ثانیه بیشتر از ۵۰۰ میلی ثانیه از پردازشگر شما نمیتونه مصرف کنه! اما اگر شما پردازشگر ۴ هستهای دارید، شما از بین صفر تا ۴۰۰ درصد مجاز به ایجاد محدودیت هستید.
تو این مدت یه عید آمد و گذشت و به من یکی چندان خوش نگذشت! برای اینکه به شما بد نگذره این پوسته رو هم از من قبول کنید! یک پوسته سیاه و آماده شده برای استفاده راحت در اوبونتو و دبیان به حجم تقریبی ۱۵ مگ که مناسب حال این روزای ماست.