ПредишенСледващото

резюме

В тази статия ще научите основните техники на управление на изпълнението процеси приоритети в Linux. Ще научите:

  • За да се разбере това, което приоритетите на процеса.
  • Приоритет на процеси.
  • приоритети Промяна процес.

За тази серия

Тази серия от статии ви помага да научите Linux задачи за администриране на системата. Можете също така да използвате материала в тези статии, за да се подготвят за изпитите на първото ниво на сертификация Linux Professional Institute (LPIC-1).

Предварителни

За да се възползва максимално от нашите членове, трябва да имате основни познания за Linux и работеща Linux компютър, на който можете да практикувате командите. Понякога различните версии на програмата показва резултатите по различни начини, така че съдържанието на обявите и цифрите могат да се различават от това, което виждате на вашия компютър. Всички примери в тази статия са направени в Ubuntu 9.10 (Karmic Koala) операционна система. В основата на тази статия е концепцията е описано в предишната статия в тази серия, "Запознайте се с Linux, 101:. Създава, монитор, и да убие процеси"

Получаване на информация за приоритета на процеса

Свържете се с Иън

В Linux, както и във всички съвременни операционни системи може едновременно да управлява множество процеси. Това се постига чрез разделяне на процесора и други ресурси между процеси. Ако един процес е използването на ресурси на процесора на 100%, всички останали процеси може да спре да реагира.

Ако изпълните горната команда. по подразбиране, той ще покаже процеси, подредени по натоварването на процесора в низходящ ред, както е показано на Обява 1. В предишната статия в тази серия, "Запознайте се с Linux, 101: Създаване, монитор, и да убие процеси", ние създадохме сценарий на прост цифров часовник, който показва по време на екрана, с интервал от 30 секунди, а в останалото време да прави нищо. Ако бяхме започнали този процес, то е вероятно, че той няма да окаже влияние върху изхода на горната команда. защото по-голямата част от времето не използва ресурсите на централния процесор.

Обява 1. Примерен изход на горната команда на компютър с Linux на

Когато броят на наличните процесори на ваше разположение е ограничен, което трябва да реши как да се разпределят наличните ресурси между няколко конкуриращи се процеси. Обикновено този проблем е решен, както следва: изберете някой процес, който се извършва в рамките на кратък период от време (... Другото му име - кванта от време, т.е. количеството на процесорно време, отделяно за заявление) или толкова дълго, колкото той не отива към държавата в очакване на някакви събития, като операцията по I / O. Че важни процеси винаги са били необходими, за да процесорни ресурси, които могат да бъдат заети от други специални приложения, изборът се прави на базата на разпределение на компютъра време. NI колона в Обява 1 показва разпределението на компютър време (приоритет или подобни. Н. хубавичка) за всеки процес. Обикновено, хубавичка стойност варира от -20 до 19; -20 е най-висок приоритет, а 19 - най-нисък приоритет.

Как мога да разбера на приоритета с к.с.

В допълнение към топ отборите да се определят приоритетните стойности (хубавичка), можете да използвате командата PS. Можете да персонализирате изхода на един от методите, описани в статията "Усвояване на Linux, 101: Създаване, монитор, и да убие процеси", или просто да използвате опцията -l за показване на подробния списък. Заключение PS -L команда е показано на Обявата 2. Както е случаят с горната команда. стойност на приоритета се показва в колоната NI.

Обява 2. Използване к.с. да намерите хубавичка ценности

приоритет по подразбиране

Обява 1 и 2, за стойност на приоритета по подразбиране (най-малко в продължение на процесите, които се изпълняват стандартен потребител) е 0. Можете да видите стойността на приоритета за обвивката и системи, работещи на хубава команда без никакви параметри, както е показано на Обява 3.

Обява 3. Проверете приоритета по подразбиране

Създаване приоритети

Преди да се пристъпи към зададете или промените приоритетите, да се създаде малък скрипт, който консумира значително количество процесорни ресурси; неговия пример, ние ще видим как да се работи в действителност приоритети.

Натоварванията при сценарий процесори

Ние ще създадем малък скрипт, който консумира ресурси на процесора и дори отнема, тъй като двете входни параметри на измервателния уред и на етикета показва етикета, текущата дата и час на екрана, намалява брояча от предварително зададена стойност 0, и най-накрая, отново показва етикет и дата. Сценарият е показано на Обява 4, не съдържа проверка за грешки, и не е много надежден, обаче, тя дава ясен пример.

Обява 4. Script, който се зарежда на процесора

Ако се сблъскате с този скрипт на вашия компютър, трябва да виждате изход, подобно на изхода на Обява 5. В зависимост от скоростта на вашия компютър, можете да увеличите стойността на брояча, за да видите разликата във времето за изпълнение. Този скрипт използва много процесорни ресурси, веднага ще видим. Ако използвате една черупка, различни от Баш, а сценарият не работи на вашата система, а след това използвайте Вторият начин да се изпълнява, както е показано по-долу. Ако не сте пред компютъра си, а след това, преди да изтече този скрипт, уверете се, че тя може да работи задачи ресурсоемки.

Обява 5. изпълнението на скрипта count1.sh

Дотук добре. Нека сега да създадете списък от команди, за да стартирате скрипта във фонов режим и след това използвайте командата топ видите колко CPU ресурси, която консумира (за да опресните знанията си на списъка с команди, вижте статията "Да се ​​учим на Linux, 101: Linux команден ред"). Списъкът на команди е показана на Обява 6, и на изхода на горната команда - в Обява 7.

Обява 6. Спринт count1.sh сценарий и команда отгоре
Обява 7. интензивното използване на ресурсите на централния процесор

Не е зле. Работещи нашия скрипт, ние използваме ресурсите на процесора на 100%. Ако искате да качите повече от един процесор, можете да добавите списък от команди тече count1.sh допълнителни копия. Ако такава задача ще бъде изпълнена за дълго време, а след това (или други потребители) забележат, че това оказва значително влияние върху скоростта на вашия компютър.

Използването хубаво да се определят приоритети

Сега, нашата система за известно време зарежда, нека да видим как можете да зададете приоритет на процеса. Да вземем кратко резюме на материала вече са обхванати.

  • Операционните системи UNIX® и Linux използват приоритет система, с общо 40 нива, вариращи от -20 (най-висок) до 19 (най-нисък приоритет).
  • Процесите в обикновените потребители обикновено имат приоритет 0.
  • Пс команда може да покаже на приоритета на процеса (например, хубаво или NI стойност), като използвате опцията -l.
  • Добрата команда показва приоритета по подразбиране.

Ница команда може да се използва, за да започнете процеса с различен приоритет. Вариант N (или --adjustment) с положителна стойност увеличава приоритет и този вариант също е отрицателна стойност - тя намалява. Не забравяйте, че процесът с най-нисък приоритет има максимална стойност хубавичка, което води до увеличаване на тази стойност означава, че процесът е по-приятелски настроени към други процеси. Имайте предвид, че, като правило, по-ниска стойност на приоритетни процеси може само корен (корен). С други думи, обикновените потребители могат само да направи процеса по-приятелски.

За да се докаже използването на хубава команда, за да определят приоритетите, да тече два случая count1.sh скрипт в различни subshells, но един от тях е с максимална стойност хубавичка 19. Във втората команда к.с.-л на. за да видите състоянието на процеса, включително стойността на хубавичка. Накрая добавете произволен почивка в интервала от 30 секунди, за да се уверите, че последователността от команди ще бъде завършен само след приключване на subshells. По този начин, няма да видим нова покана, докато чакат на опашка. Резултатите са показани в Пример 8.

Обява 8. С помощта хубаво да определя приоритетите за двата процеса

И двете задачи са завършени в същото време въпреки различните приоритети. Факт е, че скриптът използва ресурсите на един процесор, и на моя компютър разполага с двуядрен процесор AMD Athlon ™ 7750, което почти не се зарежда, така че всеки от двата процеса се извършва на едно ядро, както и необходимостта да се определят приоритети в този случай липсва.

Обява 9. Използване хубаво да се определят приоритети за четирите процеси

Инсталирайте четири различни приоритет, ние сме свидетели на ефекта от това е, че всички задачи са завършени в ред. Опитайте се да експериментирате с различни приоритети, ценности и самостоятелно да анализира резултатите.

Един последен бележка за стартираните процеси с помощта на хубаво. какъвто е случаят с командата nohup. аргумент не може да бъде хубаво да се използва конвейер или списък от команди.

Промяна на приоритетите

Екипът renice

Ако сте започнали процеса и осъзнах, че това трябва да се извършва с различна приоритет, а след това има начин да промените приоритета на процеса на работа, като използвате командата renice. Обява 10 показва как да се уточни абсолютната стойност (а не стойността на промяната) приоритет на един или повече процеси.

Обява 10. Използване renice за промяна на приоритетите

Не забравяйте, че за да се определи по-висок приоритет процес и да я направи по-малко приятелски, трябва да имате суперпотребител привилегии.

За повече информация относно команди хубави и renice можете да намерите на съответните човеко-страници.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!