در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

منظور از Nice Level یک Process در سیستم عامل لینوکس چیست ؟

تقریبا می توان گفت که در همه جا بحث اولویت وجود دارد و وجود خواهد داشت چه در زندگی روزمره ما و چه در تکنولوژی هایی که برای اشتراک گذاری منابع اطلاعاتی با آنها سر و کار داریم. یک مثال از دنیای واقعی بزنیم پیش زمینه خوبی را برای توضیح ماجرای اصلی مان فراهم میکند ، فرض کنید سه نفر به طور همزمان به شما تلفن کنند ( هر چند که میدانیم این کار امکان پذیر نیست ولی خب مثالی بهتر از این به ذهنم نرسید ) ، که این سه نفر به ترتیب مدیر شرکتی که در آن مشغول به کار هستید ، دوست صمیمی تان و یکی از فامیل های دورتان میباشد، به کدام یک از این افراد زودتر پاسخ میدهید ؟ خب منطقی است که اول از همه پاسخ تلفن مدیر شرکت را میدهد بعد پاسخ تلفن دوست صمیمی تان و در آخر پاسخ تلفن فامیل دورتان را میدهید زیرا در اینجا حساسیت و اولویت کار مطرح میباشد زیرا اگر بحث اولویت نبود عواقب ناخوشایندی به بار می آمد خب بهتر است به سراغ ماجرای اصلی داستان برویم ...

سیستم های لینوکسی قابلیتی را دارند که تعداد زیادی Process یا Job را به طور همزمان اجرا کنند. حتی اگر هم CPU دارای پردازنده یا Core های متعددی باشد تعداد پراسس ها بیشتر از تعداد هسته های CPU میباشد. حال این وظیفه کرنل سیستم عامل لینوکس است که پراسس های فعال را با توجه به تعداد هسته های CPU و توان پردازشی آنها به طور مناسب توزیع و مدیریت کند. به طور پیشفرض تمام پراسس ها در سیستم عامل لینوکس از لحاظ زمان اجرا و مدیریت شدن از اهمیت یکسانی برخوردارند. حال اگر ما بخواهیم یک پراسس از بقیه پراسس ها زودتر اجرایی شود چه باید بکنیم ؟ اینجاست که بحث Nice Level به میان می آید ...

بیشترین مقدار Nice Level برابر 20+(کمترین اولویت برای پردازش) و کمترین مقدار آن برابر 19-(بیشترین اولویت برای پردازش) میباشد.به طور معمول هر پراسسی که منابع اشتراکی را بیشتر در اختیار دیگر پراسس ها قرار میدهد Nice Level اش از بقیه پراسس ها بیشتر است اما در مقابل ، اگر پراسسی منابعش محدود به خودش باشد Nice Level آن از همه کمتر است یا بعبارتی دارای اولویت بیشتری است.به طور کلی Nice Process ها پراسس هایی هستند که کمترین منابع حافظه RAM و CPU را به خود اختصاص میدهند. Nice Level پراسس های نرمال یا همان پراسس هایی که در حالت عادی اجرا میشوند برابر صفر است. سیستم عامل لینوکس به منظور اولویت بندی Process ها نرم افزاری را در خود دارد تا بتوان اولویت پراسس ها را با توجه به سطح حساسیت شان معین کرد.نرم افزار محبوبی که برای این کار استفاده میشود nice نام دارد.نرم افزار دیگری که برای تغییر اولویت یا Priority یک Process یا Job در حال اجرا در سیستم عامل لینوکس بکار میرود renice نام دارد.برای تنظیم یک Nice Level دلخواه برای یک پراسس از دستور زیر استفاده کنید :

:~# nice -+12 bash

در دستور فوق من مقدار Nice Level شل لینوکسم یا همان bash را برابر عدد 12 در نظر گرفتم. دقت کنید که "منفی مثبت 12 نخوانید" علامت خط تیره در اینجا برای وارد کردن پارامتر ما که در اینجا مقدار Nice Level میباشد الزامی است.

در مثال زیر ما مقدار 12- (منفی 12) را برای همین پراسس تنظیم میکنیم :

:~# nice --12 bash

دستور فوق را میتوانید به شکل زیر هم اجرا کنید :

:~# nice -n -12 bash

نحوه استفاده از دستور renice را هم با یک مثال ذکر میکنیم و به این موضوع خاتمه میدهیم :

:~# renice 14 -p 3272

پیشتر نیز ذکر کردیم که دستور renice برای تغییر دادن Nice Level یک پراسس در حال اجرا میباشد.دستور فوق مقدار Nice Level پراسسی که PID یا Process ID آن 3272 میباشد را برابر 14 در نظر میگیرد.

نویسنده : امیرحسین کریم پور

منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر نام نویسنده و منبع دارای اشکال اخلاقی میباشد

#nice_level_در_لینوکس_چیست_؟ #اولویت_پردازش_ها_در_لینوکس #کاربرد_دستور_nice_در_لینوکس #نحوه_استفاده_از_دستور_nice_در_لینوکس #مفهوم_nice_level_در_لینوکس_چیست_؟ #زمانبندی_اجرای_process_ها_در_لینوکس #تفاوت_بین_دستور_nice_و_renice_در_لینوکس #nice_level_پیشفرض_process_ها_در_لینوکس #نحوه_مدیریت_process_ها_در_لینوکس #مدیریت_process_ها_در_لینوکس
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....