Использование taskset






Если ваш компьютер не очень старый и не является каким-нибудь дешёвым нетбуком, то с очень большой долей вероятности ваша система является многопроцессорной. Любой сервер, выпущенный за последние лет пять, имеет на борту как минимум два CPU, а любая рабочая станция, выпущенная за последние три года, имеет по меньшей мере двухъядерный процессор. Иногда вам может понадобиться сделать так, чтобы выполняющийся процесс обслуживался только определённым процессором или же определённой их группой. Всё это легко и просто делается при помощи утилиты taskset.


Taskset позволяет вам «привязывать» процесс к определённому процессору. Представим, что вы хотите настроить Google Chrome так, чтобы он работал только на одном CPU. Делается это командой:

Теперь использование процессора для google-chrome будет ограничено только первым CPU (маска 0×00000001 обозначает первый процссор). Если же вы, например, хотите чтобы процесс работал на первом и втором CPU, воспользуйтесь командой:

Вместо масок вы можете воспользоваться опцией -c утилиты taskset (подробней об этом — на man-странице программы).

Если вы хотите узнать, на каких процессорах выполняется тот или иной процесс, вы можете воспользоваться командой:

где XXXX замените на PID интересующего вас процесса. Например, если вы получите информацию о любом процессе, для которого «привязка» не выполнялась, в двухпроцессорной системе, то вы увидите значение равное трём.

Может ли taskset пригодиться вам для увеличения производительности вашей системы и стоит ли ей пользоваться сплошь и рядом? Нет. Однако, taskset может очень вам помочь, когда вы имеете дело с приложениями, которые, возможно. вызывают проблемы в системе.

Оригинал статьи на ServerWarch.Com




Использование taskset: 3 комментария

  1. Здравствуйте!

    «если вы получите информацию о любом процессе, для которого «привязка» не выполнялась, в двухпроцессорной системе, то вы увидите значение равное трём.»

    у меня Core2Duo — это считается как двухпроцессорная система? И почти все на все приложения я получаю значение равное трем...Это нормально?

  2. Индустриальный Эльф, для taskset «ядро» и «процессор» суть одно и то же. Таким образом Core2Duo — это многопроцессорная система.

    Значение равное трём говорит о том, что процесс использует два процессора, то есть это нормально.

Комментарии запрещены.