دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: محدود کردن برنامه‌ها در لينوکس

  1. #1
    کاربر جدید
    رشته تحصیلی
    مهندسی کامپیوتر
    نوشته ها
    24
    ارسال تشکر
    0
    دریافت تشکر: 36
    قدرت امتیاز دهی
    0
    Array

    پیش فرض محدود کردن برنامه‌ها در لينوکس

    آيا تا به‌‌حال برايتان پيش آمده که يک برنامه خاص (مانند فايرفاکس) را باز کنيد و بعد تمام سيستم‌تان بسته شود؟ اين موضوع زماني جدي مي‌شود که به‌جاي يک کامپيوتر معمولي خانگي، عملکرد اشتباه يک برنامه، تمام منابع پردازنده يک سرور را در اختيار بگيرد و سرور از کار بيفتد؛ در اين صورت تمام وب‌سايت‌ها و سرويس‌هايي که در اين سرور وجود دارند از کار خواهند افتاد.
    براي حل اين مشکل، گروهي از برنامه‌نويسان آزاد، برنامه‌اي به‌نام 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


    محمدرضا قرباني
    من منم،هيچ‌کس به جاي من نيست و من به جاي هيچ‌کس نيستم،پس آن‌گونه زندگي مي‌کنم که مي‌انديشم.
    هميشه راهي براي نفوذ است و هيچ سيستمي به طور مطلق امن نيست. بلکه بايستي آن راه نفوذ را کشف کرد .هنر هک هم در همين نکته متبلور ميشود

  2. کاربرانی که از پست مفید mjabbasi سپاس کرده اند.


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مصادیق مدیریت اسلامی و نقش آن در تولید علم
    توسط ریپورتر در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 15th October 2010, 05:59 PM
  2. رویکرد مقایسه‌ای ارتباط رشد و توزیع درآمد از دیدگاه اسلام
    توسط ریپورتر در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 10th October 2010, 09:54 AM
  3. راهکارهای تقویت نوآوری و شکوفایی در سازمان
    توسط ریپورتر در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 27th September 2010, 05:41 PM
  4. اخبار تلفن همراه و شرکت های آنها
    توسط diamonds55 در انجمن اخبار تلفن همراه
    پاسخ ها: 23
    آخرين نوشته: 15th August 2010, 10:22 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •