По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Данная тема важна так как позволяет изменять приоритет процессов в операционной системе Linux. Иногда возникает такая ситуация, что необходимо изменить приоритет процессов, какой - то процесс сделать более приоритетным, отдав побольше ресурсов, а какой-то менее приоритетным забрав часть ресурсов сервера. В данной теме мы рассмотрим следующие вопросы: Научимся определять приоритеты процессов; Рассмотрим, как запускать программы с повышенным приоритетом или с пониженным; Посмотрим, как изменять приоритет запущенных программы. В Linux любой процесс может иметь приоритет от -20 до +19. Во FreeBSD до +20. Максимальным приоритетом считается, тот процесс у которого минимальное число. Т.е. максимальный по приоритету процесс будет иметь число - 20, а минимальный -19 соответственно. Поэтому задача с приоритетом -20 будет выполняться в первую очередь с максимум ресурсов и наоборот задача с +19 будет выполняться в последнюю очередь и минимум ресурсов. Linux для установки приоритетов использует такую программу nice и renice. Для того, чтобы рассмотреть данную тему воспользуемся командой ps aux. Запуская данную команду мы получаем все сведения о запущенных процессах на данном сервере. Так же мы можем увидеть от какого пользователя данный процесс запущен. Теперь мы используем другой набор ключей для команды ps. Чтоб получить нам интересующий вывод данных используем команду ps alx. Мы можем видеть, что получили немного другую информацию. Появилась колонка, промаркированная "NI" и колонка "PRI". Мы можем видеть, что верхние процессы выполняются с nice 0, т.е. это авторитет по умолчанию, который присваивается если не сказано иного. Возьмем другой вариант команды ps, с другими ключами. ps -eo user,pid,pcpu,nice,comm -e - ключ показывать все -o - output т.е какая информация нужна, далее в команде перечисляется необходимая информация (колонки) После ввода данной команды, мы видим, что столбцов стало меньше. Только то, что мы запрашивали, пользователь, ID процесса, загрузка CPU, приоритет и какая команда. Для того, чтобы понять, что такое приоритет, попробуем использовать команду sleep, которая позволяет, остановить операционную систему на указанное число секунд. sleep 10000 & И выведем команду ps -eo user,pid,pcpu,nice,comm | grep sleep, используя pipline сортируем по названию процесса sleep. Вот, что у нас вышло. Видим наш запущенный процесс. Далее запустим какую-нибудь задачу с максимальным приоритетом. Это полезно если мы хотим запустить, какой ни будь серьезный процесс, чтобы он получил максимальный приоритет. Как пример, срочная переиндексация базы данных на сервере с максимальным приоритетом или программку, которая будет собирать информацию о системе с минимальным приоритетом. nice sleep 60000 И мы можем увидеть, что появился наш процесс со значение 10 по умолчанию. Десять - это приоритет по умолчанию, и он ниже, чем ноль. Чем выше значение, тем приоритет ниже. Т.е. получается если мы запускаем с командой niсе, то процесс запускает с приоритетом ниже в 2 раза, чем просто если бы запустили. Мы можем принудительно завершить процессы. killall sleep. Попробуем запустить задачу с минимальным приоритетом. Для этого воспользуемся параметром. Команда будет выглядеть следующим образом. nice -n 19 sleep 6000 Как мы видим все получилось. Процесс запущен с минимальным приоритетом. Аналогично запускается процесс с максимальным приоритетом. nice -n -20 sleep 6000 Тут нужно пояснить, что задачи с наивысшим приоритетом, могут пользователи только с правами root. Если мы бы попытались сделать из-под обычного пользователя, то ничего у нас бы не вышло. killall sleep, еще раз завершим принудительно процессы. Запустим еще раз процесс с наименьшим приоритетом. nice -n 19 sleep 60000. Теперь изменим приоритет текущего процесса. Для этого есть следующая команда: renice 5 -p 416802 - т.е 5 - новый приоритет , 416802 - id процесса. Как мы видим все успешно поменялось. Вот таким образом мы можем динамически менять приоритеты. В Операционной системе Windows мы так же можем менять приоритеты в менеджере задач, но если там пять уровней, то в Linux их получается 40. Мы можем так же менять приоритеты определенному пользователю. renice приоритет -u пользователь Данные команды, нам позволяют гибко управлять распределением ресурсов на нашем сервере.
img
Первая статья из цикла про lsof тут. У команды lsof очень много параметров, которыми, вы возможно, и не пользуетесь. Давайте изучим их для, повышения эффективности своей работы. В нашей первой статье мы рассмотрели ряд опций , которые использовали с командой lsof для вывода информации, необходимой для устранения возможных неполадок в системах Unix. В связи с тем, что lsof имеет огромное количество опций, запоминание того, какую опцию использовать и для каких целей, вызывает затруднение использование этой команды часто и/или эффективно. Итак, то, что мы изучим в этой статье - это рассмотрим несколько способов упрощенного использования этого очень полезного инструмента. Мы создадим полезные псевдонимы (aliases), разработаем что-то вроде "шпаргалки" и создадим простой скрипт с использованием параметров команды lsof. Использование псевдонимов Оба псевдонима, показанные ниже, содержат список всех файлов, открытых от текущего пользователя. Есть подозрения, что некоторые системные администраторы захотят использовать команду "showmyopenfiles". Другие администраторы будут использовать выражение "showmine", но оно имеет двойной смысл - это мои открытые файлы или мои процессы? Обратите внимание, что большинство этих псевдонимов требуют привилегий root и предполагают, что у вас есть привилегии sudo. Возможно лучше использовать выражения "showfiles", "showmyfiles" или просто "ofiles". Выше показано использование псевдонимов "showfiles", "showmyfiles" и "ofiles" Ниже на скриншоте мы ищем процессы, открытые в каталоге /usr/sbin/lsof самой командой lsof. Конечно, чрезмерно замудренное использование данных псевдонимов может сделать их более трудными в использовании, чем просто использование базовых команд lsof. Другой вариант-создать псевдонимы для нескольких вариантов, которые вы, вероятно, будете использовать чаще всего. Любой, кто использует эти псевдонимы, просто должен не забыть добавить аргумент (имя пользователя, PID и т. д.). Аналогичным образом вы можете настроить псевдонимы, которые отображают информацию для ваших сетевых подключений. Использование "шпаргалки" Наличие под рукой шпаргалки с краткими пояснениями к параметрам команды lsof также может помочь вам воспользоваться ее многочисленными функциями, не запоминая их. Простые пояснения и примеры команд - полезная вещь при использовании lsof. Вот пример: Применение скриптов Вы также можете упростить использование команды lsof, создав скрипт. Скрипт, показанный ниже, пытается определить, что вы ищете, оценивая аргумент, который вы приводите. Например, если вы вводите IP-адрес, предполагается, что вы хотите видеть сетевую активность для этого конкретного IP-адреса. Можете изменять его, под свои нужды для устранения неполадок.
img
Все маршрутизаторы добавляют подключенные маршруты. Затем в большинстве сетей используются протоколы динамической маршрутизации, чтобы каждый маршрутизатор изучал остальные маршруты в объединенной сети. Сети используют статические маршруты - маршруты, добавленные в таблицу маршрутизации посредством прямой настройки - гораздо реже, чем динамическая маршрутизация. Однако статические маршруты иногда могут быть полезны, и они также могут быть полезными инструментами обучения. Статические сетевые маршруты IOS позволяет назначать отдельные статические маршруты с помощью команды глобальной конфигурации ip route. Каждая команда ip route определяет пункт назначения, который может быть сопоставлен, обычно с идентификатором подсети и маской. Команда также перечисляет инструкции пересылки, обычно перечисляя либо исходящий интерфейс, либо IP-адрес маршрутизатора следующего перехода. Затем IOS берет эту информацию и добавляет этот маршрут в таблицу IP-маршрутизации. Статический маршрут считается сетевым, когда пункт назначения, указанный в команде ip route, определяет подсеть или всю сеть класса A, B или C. Напротив, маршрут по умолчанию соответствует всем IP-адресам назначения, а маршрут хоста соответствует одному IP-адресу (то есть адресу одного хоста). В качестве примера сетевого маршрута рассмотрим рисунок 1. На рисунке показаны только детали, относящиеся к статическому сетевому маршруту на R1 для подсети назначения 172.16.2.0/24, которая находится справа. Чтобы создать этот статический сетевой маршрут на R1, R1 настроит идентификатор и маску подсети, а также либо исходящий интерфейс R1 (S0/0/0), либо R2 в качестве IP-адреса маршрутизатора следующего перехода (172.16.4.2). Схема сети устанавливает соединение между двумя маршрутизаторами R1, R2 и двумя хостами 1 и 2. Порт G0/0 .1 R1 подключен к шлейфу слева, который, в свою очередь, подключен к хосту 1, имеющему подсеть 172.16. 1.9. Интерфейс S0/0/0 R1 последовательно подключен к R2 с IP-адресом 172.16.4.2. Интерфейс G0/0.2 на R2 подключен к шлейфу, который, в свою очередь, подключен к хосту 2 с IP-адресом 172.16.2.0.9. Здесь маршрутизатор R1 предназначен для адреса 172.16.2.0/24 в подсети. Пакеты должны перемещаться либо с интерфейса S0/0/0 маршрутизатора R1, либо с маршрутизатора R2 с IP-адресом 172.16.2.0/24. В примере 1 показана конфигурация двух примеров статических маршрутов. В частности, он показывает маршруты на маршрутизаторе R1 на рисунке 2 для двух подсетей в правой части рисунка. При настройке сети маршрутизатор R1 имеет соединение с двумя маршрутизаторами R2 и R3 справа. Интерфейс G0/0 .1 маршрутизатора R1 подключен к заглушке слева и, в свою очередь, подключен к хосту A, имеющему подсеть 172.16.1.9 с маской подсети 172.16.1.0 /24. Справа-интерфейс S0/0/1.1 из R1 с маской подсети 172.16.4.0 / 24 подключается к интерфейсу S0/0/1.2 из R2 с маской подсети 172.16.2.0 / 24 через последовательную линию. Кроме того, интерфейс G0/1/ 0.1 из R1 с маской подсети 172.16.5.0 / 24 подключается к интерфейсу G0/0/0 .3 из R3 с маской подсети 172.16.3.0 / 24 через глобальную сеть. Заглушка подключается к интерфейсу G0/0 .2 из R2, где маска подсети равна 172.16.2.0 / 24 и, в свою очередь, подключена к хосту B, имеющему подсеть 172.16.2.9. Заглушка подключается к интерфейсу G0/0 .3 из R3, где маска подсети равна 172.16.3.0 / 24 и, в свою очередь, подключена к хосту C, имеющему подсеть 172.16.3.9. ip route 172.16.2.0 255.255.255.0 S0/0/0 ip route 172.16.3.0 255.255.255.0 172.16.5.3 Пример 1 Добавление статических маршрутов в R1 В двух примерах команд ip route показаны два разных стиля инструкций пересылки. Первая команда показывает подсеть 172.16.2.0, маска 255.255.255.0, которая находится в локальной сети рядом с маршрутизатором R2. Эта же первая команда перечисляет интерфейс S0 / 0/0 маршрутизатора R1 как исходящий интерфейс. Этот маршрут в основном гласит: Чтобы отправить пакеты в подсеть с маршрутизатора R2, отправьте их через мой собственный локальный интерфейс S0/0/0 (который подключается к R2). Второй маршрут имеет такую же логику, за исключением использования различных инструкций пересылки. Вместо того, чтобы ссылаться на исходящий интерфейс R1, он вместо этого перечисляет IP-адрес соседнего маршрутизатора на WAN-канале в качестве маршрутизатора следующего прыжка. Этот маршрут в основном говорит следующее:чтобы отправить пакеты в подсеть с маршрут. Маршруты, созданные этими двумя командами ip route, на самом деле выглядят немного иначе в таблице IP-маршрутизации по сравнению друг с другом. Оба являются статическими маршрутами. Однако маршрут, который использовал конфигурацию исходящего интерфейса, также отмечается как подключенный маршрут; это всего лишь причуда вывода команды show ip route. В примере 2 эти два маршрута перечислены с помощью статической команды show ip route. Эта команда выводит подробную информацию не только о статических маршрутах, но также приводит некоторые статистические данные обо всех маршрутах IPv4. Например, в этом примере показаны две строки для двух статических маршрутов, настроенных в примере 2, но статистика утверждает, что этот маршрутизатор имеет маршруты для восьми подсетей. IOS динамически добавляет и удаляет эти статические маршруты с течением времени в зависимости от того, работает исходящий интерфейс или нет. Например, в этом случае, если интерфейс R1 S0/0/0 выходит из строя, R1 удаляет статический маршрут к 172.16.2.0/24 из таблицы маршрутизации IPv4. Позже, когда интерфейс снова открывается, IOS добавляет маршрут обратно в таблицу маршрутизации. Обратите внимание, что большинство сайтов используют протокол динамической маршрутизации для изучения всех маршрутов к удаленным подсетям, а не статические маршруты. Однако если протокол динамической маршрутизации не используется, сетевому администратору необходимо настроить статические маршруты для каждой подсети на каждом маршрутизаторе. Например, если бы маршрутизаторы имели только конфигурацию, показанную в примерах до сих пор, ПК А (из рис. 2) не смог бы получать пакеты обратно от ПК В, потому что маршрутизатор R2 не имеет маршрута для подсети ПК А. R2 понадобятся статические маршруты для других подсетей, как и R3. Наконец, обратите внимание, что статические маршруты, которые будут отправлять пакеты через интерфейс Ethernet - LAN или WAN, - должны использовать параметр IP-адреса следующего перехода в команде ip address, как показано в примере 2. Маршрутизаторы ожидают, что их интерфейсы Ethernet смогут достичь любого количества других IP-адресов в подключенной подсети. Ссылка на маршрутизатор следующего перехода определяет конкретное устройство в подключенной подсети, а ссылка на исходящий интерфейс локального маршрутизатора не определяет конкретный соседний маршрутизатор. Статические маршруты хоста Ранее в этой лекции маршрут хоста определялся как маршрут к одному адресу хоста. Для настройки такого статического маршрута команда ip route использует IP-адрес плюс маску 255.255.255.255, чтобы логика сопоставления соответствовала только этому одному адресу. Сетевой администратор может использовать маршруты хоста для направления пакетов, отправленных одному хосту по одному пути, а весь остальной трафик - в подсеть этого хоста по другому пути. Например, вы можете определить эти два статических маршрута для подсети 10.1.1.0 / 24 и Хоста 10.1.1.9 с двумя различными адресами следующего перехода следующим образом: ip route 10.1.1.0 255.255.255.0 10.2.2.2 ip route 10.1.1.9 255.255.255.255 10.9.9.9 Обратите внимание, что эти два маршрута перекрываются: пакет, отправленный в 10.1.1.9, который поступает на маршрутизатор, будет соответствовать обоим маршрутам. Когда это происходит, маршрутизаторы используют наиболее конкретный маршрут (то есть маршрут с наибольшей длиной префикса). Таким образом, пакет, отправленный на 10.1.1.9, будет перенаправлен на маршрутизатор следующего прыжка 10.9.9.9, а пакеты, отправленные в другие пункты назначения в подсети 10.1.1.0/24, будут отправлены на маршрутизатор следующего прыжка 10.2.2.2. Плавающие статические маршруты Затем рассмотрим случай, когда статический маршрут конкурирует с другими статическими маршрутами или маршрутами, изученными протоколом маршрутизации. То есть команда ip route определяет маршрут к подсети, но маршрутизатор также знает другие статические или динамически изученные маршруты для достижения этой же подсети. В этих случаях маршрутизатор должен сначала решить, какой источник маршрутизации имеет лучшее административное расстояние, а чем меньше, тем лучше, а затем использовать маршрут, полученный от лучшего источника. Чтобы увидеть, как это работает, рассмотрим пример, проиллюстрированный на рисунке 3, который показывает другую конструкцию, чем в предыдущих примерах, на этот раз с филиалом с двумя каналами WAN: одним очень быстрым каналом Gigabit Ethernet и одним довольно медленным (но дешево) Т1. В этом проекте сеть Open Shortest Path First Version 2 (OSPFv2) по первичному каналу, изучая маршрут для подсети 172.16.2.0/24. R1 также определяет статический маршрут по резервному каналу к той же самой подсети, поэтому R1 должен выбрать, использовать ли статический маршрут или маршрут, полученный с помощью OSPF. Сетевая диаграмма показывает интерфейс G0 / 0 маршрутизатора R1, который подключен к маршрутизатору R2 через ethernet через облако MPLS. Интерфейс S0 / 0 / 1 R1 соединен с маршрутизатором R3 по последовательной линии. R2 и R3 соединены в ядре облака корпоративной сети, имеющего подсеть 172.16.2.0/24. Маршрутизатор R1 достигает подсети либо по OSPF v1 по основному каналу, либо по статическому маршруту по резервному каналу. По умолчанию IOS отдает предпочтение статическим маршрутам, чем маршрутам, изученным OSPF. По умолчанию IOS предоставляет статическим маршрутам административное расстояние 1, а маршрутам OSPF-административное расстояние 110. Используя эти значения по умолчанию на рисунке 3, R1 будет использовать T1 для достижения подсети 172.16.2.0 / 24 в этом случае, что не является удачным решением. Вместо этого сетевой администратор предпочитает использовать маршруты, изученные OSPF, по гораздо более быстрому основному каналу и использовать статический маршрут по резервному каналу только по мере необходимости, когда основной канал выходит из строя. Чтобы отдавать предпочтение маршрутам OSPF, в конфигурации необходимо изменить настройки административного расстояния и использовать то, что многие сетевики называют плавающим статическим маршрутом. Плавающий статический маршрут перемещается в таблицу IP-маршрутизации или перемещается из нее в зависимости от того, существует ли в настоящее время лучший (меньший) маршрут административного расстояния, полученный протоколом маршрутизации. По сути, маршрутизатор игнорирует статический маршрут в то время, когда известен лучший маршрут протокола маршрутизации. Чтобы реализовать плавающий статический маршрут, вам необходимо использовать параметр в команде ip route, который устанавливает административное расстояние только для этого маршрута, делая значение больше, чем административное расстояние по умолчанию для протокола маршрутизации. Например, команда ip route 172.16.2.0 255.255.255.0 172.16.5.3 130 на маршрутизаторе R1 будет делать именно это - установив административное расстояние статического маршрута равным 130. Пока основной канал остается активным, а OSPF на маршрутизаторе R1 изучает маршрут для 172.16.2.0/24, с административным расстоянием по умолчанию 110, R1 игнорирует статический маршрут. Наконец, обратите внимание, что хотя команда show ip route перечисляет административное расстояние большинства маршрутов в виде первого из двух чисел в двух скобках, команда show ip route subnet явно указывает административное расстояние. В примере 3 показан образец, соответствующий этому последнему примеру. Статические маршруты по умолчанию Когда маршрутизатор пытается маршрутизировать пакет, он может не совпадать с IP-адресом назначения пакета ни с одним маршрутом. Когда это происходит, маршрутизатор обычно просто отбрасывает пакет. Маршрутизаторы могут быть сконфигурированы таким образом, чтобы они использовали либо статически настроенный, либо динамически изучаемый маршрут по умолчанию. Маршрут по умолчанию соответствует всем пакетам, так что, если пакет не соответствует какому-либо другому более конкретному маршруту в таблице маршрутизации, маршрутизатор может, по крайней мере, переслать пакет на основе маршрута по умолчанию. Классический пример, когда компании могут использовать статические маршруты по умолчанию в своих корпоративных сетях TCP / IP, - это когда компания имеет много удаленных узлов, каждый из которых имеет одно относительно медленное WAN-соединение. Каждый удаленный узел имеет только один возможный физический маршрут для отправки пакетов в остальную часть сети. Таким образом, вместо использования протокола маршрутизации, который отправляет сообщения по глобальной сети и использует драгоценную полосу пропускания глобальной сети, каждый удаленный маршрутизатор может использовать маршрут по умолчанию, который направляет весь трафик на центральный сайт, как показано на рисунке 4. Соединение состоит из трех маршрутизаторов: Core, B1 и B1000. Последовательные соединения показаны между маршрутизаторами Core - B1 и Core - B1000. Все эти маршрутизаторы подключены к подсети индивидуально. Маршрутизатор B1 отправляет все нелокальные пакеты в Core через интерфейс S0/0/1. Существует также связь между B1 и B1000. IOS позволяет настроить статический маршрут по умолчанию, используя специальные значения для полей подсети и маски в команде ip route: 0.0.0.0 и 0.0.0.0. Например, команда ip route 0.0.0.0 0.0.0.0 S0/0/1 создает статический маршрут по умолчанию на маршрутизаторе B1-маршрут, который соответствует всем IP-пакетам-и отправляет эти пакеты через интерфейс S0/0/1. В примере 4 показан пример статического маршрута по умолчанию с использованием маршрутизатора R2 с рисунка 1. Ранее на этом рисунке вместе с примером 3 был показан маршрутизатор R1 со статическими маршрутами к двум подсетям в правой части рисунка. Пример 4 завершает настройку статических IP-маршрутов путем настройки R2 в правой части рисунка 1 со статическим маршрутом по умолчанию для маршрутизации пакетов обратно к маршрутизаторам в левой части рисунка. Вывод команды show ip route содержит несколько новых и интересных фактов. Во-первых, он перечисляет маршрут с кодом S, что означает статический, но также со знаком *, что означает, что это кандидат в маршрут по умолчанию. Маршрутизатор может узнать о нескольких маршрутах по умолчанию, и затем маршрутизатор должен выбрать, какой из них использовать; * означает, что это, по крайней мере, кандидат на то, чтобы стать маршрутом по умолчанию. Чуть выше "шлюз последней надежды" относится к выбранному маршруту по умолчанию, который в данном случае является только что настроенным статическим маршрутом с исходящим интерфейсом S0/0/1.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59