Чтобы начать с команды «taskset», во-первых, нам нужно знать о сродстве процесса. Сходство процесса – это свойство планировщика, которое помогает привязать или отвязать процесс, чтобы процесс выполнялся только с выделенным ЦП.
В Linux-подобных системах есть несколько инструментов для установки привязки процессора к процессу. Одной из популярных утилит является команда «taskset», которая кажется сложной, но разбиение ее на несколько этапов упрощает задачу.
С помощью командного инструмента «taskset» пользователь может получить или установить соответствие ЦП конкретного процесса с его заданным идентификатором процесса (PID). Не только это, но и помогает пользователю назначать ядра ЦП вручную.
С помощью этой утилиты можно выполнять две функции с привязкой к процессу; Во-первых, вы можете установить соответствие ЦП запускаемым программам. Во-вторых, чтобы установить соответствие ЦП программам, уже находящимся в рабочем состоянии.
Важно помнить, что привязка к процессору обозначается битовой маской, но, используя параметры «taskset», вы можете отобразить ее в числовом виде. Вы можете указать список битовых масок в шестнадцатеричном формате (с 0x или без него).
Например:
0x00000001 represents to processor 0 0x00000003 represents to processor 0 and 1 0x00000007 represents to processor 0, 1 and 2
И так далее..
Синтаксис команды «taskset»:
taskset [options] mask command [argument…]
(Выполните команду с заданной маской сродства)
taskset [options] –p [mask] pid
(Установить сродство ЦП существующей задачи)
taskset –p pid
(получить соответствие ЦП существующей задачи)
Инструмент команд «taskset» поддерживает следующие параметры:
Вариант | Описание |
---|---|
-a, –all | Используется для установки сродства ЦП всех задач для данного PID |
-c, –cpu-list | Позволяет указывать процессоры в числовом списке вместо битовой маски, имеющей несколько элементов, которые могут быть заданы запятой или диапазонами |
-p, –pid | Работает с существующим PID и не позволяет запускать новую задачу |
-help | Распечатайте справочное сообщение и выйдите |
-version | Распечатайте версию команды и выйдите |
С помощью множества опций команды «taskset» пользователь может выполнять различные операции с заданными процессами:
Команда « taskset » используется для отображения привязки ЦП к уже запущенному процессу.
Прежде чем приступить к работе, нам нужно получить PID этого конкретного процесса:
$ pidof mozila firefox
Теперь используйте PID, чтобы получить привязку к процессору в терминале:
$ taskset -p 1825
Чтобы получить диапазон ЦП процесса в терминале, выполните указанную команду:
$ taskset -cp 1825
Вы можете изменить привязку процессора к процессору, присвоив новое значение PID существующего процесса с помощью команды:
$ taskset –p 0x7 1825
(Как видите, мы установили значение сродства 7, и оно было изменено, вы можете установить в соответствии с требованиями)
Чтобы проверить текущее значение соответствия ЦП, используйте ту же команду, которую мы выполнили выше. Вы получите обновленное значение:
$ taskset –p 1825
Сходство с процессором запущенного процесса также можно определить с помощью указанной команды:
$taskset-cp 0 , 2 1825
Используя команду «taskset», пользователь может не только установить соответствие или диапазон ЦП, но также может назначить процессору ядро ЦП.
В системах UNIX номера ядер начинаются с 0, что означает, что первое ядро системы будет 0, а второе ядро - 1 и т. д.
Назначение ядра означает, что вы хотите запустить этот процесс на этом конкретном ядре. Вы также можете выделить несколько ядер для одного процесса.
Итак, синтаксис этого процесса:
taskset -c [number of cores] [process name]
Давайте выполним пример, установив ядро процессора в firefox, используя команду, указанную ниже:
$ taskset -c 3 , 5 Firefox
Есть еще один способ установить ядро; например, если вы хотите установить ядро с ядра 3 на ядро 5. Вы будете использовать дефис «-» вместо запятой:
$ taskset -c 0-4 firefox
Команда «top» используется для отображения всех запущенных процессов с их PID, что считается быстрым способом получить список на терминале. Вам не нужно искать сложную настройку для мониторинга приложений.
Наберите «top» в терминале, чтобы получить имена всех запущенных программ:
$ top
В этой статье мы обсудили командный инструмент «taskset» и его параметры для установки привязки к процессору для данного процесса. Команда «taskset» – это инструмент Linux, который помогает назначить ядро ЦП процессу для выполнения и запуска только на назначенных ядрах ЦП. Мы также проверили, как установить привязку к процессору для процесса в рабочем состоянии.
Запускает только на первом ядре. Остальные простаивают даже при нагрузке 100% на первом.