در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
برای حل این مشکل، گروهی از برنامهنویسان آزاد، برنامهای بهنام Cpulimit نوشتهاند که میتواند استفاده یک پردازه از پردازنده را محدود کند. مثلا اگر یک برنامه را که از سنگینی آن آگاه نیستید، اجرا کنید یا زمانی که یک برنامه با استفاده محدود، حجم زیادی از پردازنده شما را میگیرد، میتوانید آن را بهسادگی محدود کنید. از اینرو اجرای چند برنامه پردازندهمحور (CPU-Bound) بهطور همزمان در سیستم بهسادگی انجام میپذیرد.
نکتهای که باید به آن توجه کرد این است که این برنامه برای تمام توزیعهای لینوکس قابل استفاده است، اما در این مقاله، تنها به نصب آن در توزیع محبوب اوبونتو میپردازیم.
نصب
در اوبونتو میتوان cpulimit را از طریق Ubuntu Software Center نصب کرد. کافی است نام آنرا جستجو کنید. از طریق apt نیز میتوان با دستور زیر آن را نصب کرد:
sudo apt-get install cpulimit
استفاده
برای این که یک پردازنده را محدود کنیم، از دستور زیر استفاده میکنیم:
sudo cpulimit -p PID -l CPU%
که در این دستور، PID شناسه برنامه در حال اجراست و
%CPU عددی است بین صفر تا 100 که همان منبع مجاز برای برنامه خواهد بود. میتوان PID را با رفتن به مسیر زیر بهدست آورد:Administration\System Monitor
برای نمونه، اگر برنامه فایرفاکس شما 68 درصد از پردازنده را پیش از اجرای دستور میگیرد، میتوان آنرا بهمیزان 20درصد تغییر داد.
خودکارسازی روند
استفاده از این برنامه زمانی خود را نشان میدهد که برنامهای را که اجرا میکنید نیاز به منابع زیادی از سوی پردازنده داشته باشد یا وقتی که باید یک کار دستهای (Batch) انجام دهید. همچنین میتوان این برنامه را طوری طراحی کرد که برای هر برنامهای که از رفتار عادی خود تجاوز میکند، فعال شود. روند خودکار کردن، برای نصب سرور بسیار سودمند است.
نظارت بر روند محدودسازی هر پردازندهای که از حد مجاز تجاوز کند، از طریق یک اسکریپت انجام میشود. برای این کار مطمئن شوید که دستور زیر را اجرا کردهاید، یا gawk و cpulimit در سیستمتان از پیش نصب شده است.
sudo apt-get install cpulimit gawk
حالا به نشانی زیر بروید و این اسکریپت را دریافت کنید:
http://dl.dropbox.com/u/6864546/cpulimit.tar.gz
فایل tar را به دایرکتوری Home خود منتقل کرده و آن را از حالت فشرده خارج کنید. باید در فولدر ایجاد شده، دو فایل با نامهای cpulimit و cpulimit_daemon.sh وجود داشته باشد.
حال فایل cpulimit_daemon.sh را در یک ویرایشگر باز کنید (مثلا gEdit) و سپس مقادیر زیر را تغییر دهید:
CPU_LIMIT: بالاترین میزانی که از منابع پردازنده در اختیار هر نرمافزار قرار میگیرد. مقدار پیشفرض 20 درصد است.
DAEMON_INTERVAL: میزان بازه زمانی که این اسکریپت قرار است سیستم را چک کند. مقدار پیشفرض 3 ثانیه تنظیم شده است.
BLACK_PROCESS_LIST: این مقدار فهرست آیتمهایی را مشخص میکند که میخواهید روی آنها نظارت انجام دهید. برای جداسازی پردازههای مختلف از کاراکتر (|) استفاده کنید. برای مثال:
mysql|firefox|gedit
WHITE_PROCESS_LIST:
این آیتم شامل فهرست آیتمهایی است که نمیخواهید تحت نظارت قرار بگیرند. در این مقدار نیز همانند مقدار قبلی، با کاراکتر (|) میتوان برنامهها را از هم جدا کرد.باید توجه داشته باشید که یکی از دو مقدار فهرست سیاه یا فهرست سفید باید خالی باشند، نمیتوان بهصورت همزمان هم فهرست سیاه داشت و هم فهرست سفید.راهاندازی
فایل cpulimit_daemon.sh را به مسیر /usr/bin/ بفرستید. برای این کار میتوانید از دستور زیر در ترمینال استفاده کنید:
sudo cp ~/cpulimit/cpulimit_daemon.sh /usr/bin
sudo chmod 700 /usr/bin/cpulimit_daemon.sh
سپس فایل cpulimit را به فولدر /etc/init.d/ فرستاده و سطوح دسترسی صحیح را ایجاد کنید. حال کاری میکنیم که با بالا آمدن سیستم اجرا شود. برای سادگی بیشتر، از دستورات زیر استفاده کنید:
sudo cp ~/cpulimit/cpulimit /etc/init.d/
sudo chown root:root /etc/init.d/cpulimit
sudo chmod +x /etc/init.d/cpulimit
sudo update-rc.d cpulimit defaults
حالا اگر یک بار سیستم خود را از نو راهاندازی کنید، cpulimit بهصورت خودکار فعال خواهد شد.میتوانید برای بررسی وضعیت این برنامه، از دستور زیر استفاده کنید:
sudo service cpulimit status
و برای این که مطمئن شوید، cpulimit را اجرا کنید (در صورتی که اجرا نشده)، دستور زیر را بنویسید تا برنامه را اجرا کند:
sudo service cpulimit start
همچنین برای متوقف کردن آن از دستور زیر استفاده کنید:
sudo service cpulimit stop
پاک کردن
برای پاک کردن این اسکریپت، باید مراحل زیر را انجام دهید:
1- متوقف کردن برنامه
sudo service cpulimit stop
2- حذف اسکریپت برای اجرا نشدن هنگام بالا آمدن سیستم
sudo update-rc.d -f cpulimit remove
3- حذف برنامه
sudo rm /etc/init.d/cpulimit
4- حذف اسکریپت بهطور کامل از سیستم
sudo rm /usr/bin/cpulimit_daemon.sh
5- حذف برنامه cpulimit
sudo apt-get remove cpulimit
6- همچنین اگر استفاده دیگری از برنامه gawk ندارید، آن را نیز میتوانید حذف کنید:
sudo apt-get remove gawk
محمدرضا قربانی
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: