Если ваш компьютер не очень старый и не является каким-нибудь дешёвым нетбуком, то с очень большой долей вероятности ваша система является многопроцессорной. Любой сервер, выпущенный за последние лет пять, имеет на борту как минимум два CPU, а любая рабочая станция, выпущенная за последние три года, имеет по меньшей мере двухъядерный процессор. Иногда вам может понадобиться сделать так, чтобы выполняющийся процесс обслуживался только определённым процессором или же определённой их группой. Всё это легко и просто делается при помощи утилиты taskset.
Taskset позволяет вам «привязывать» процесс к определённому процессору. Представим, что вы хотите настроить Google Chrome так, чтобы он работал только на одном CPU. Делается это командой:
taskset 0x00000001 google-chrome
Теперь использование процессора для google-chrome будет ограничено только первым CPU (маска 0×00000001 обозначает первый процссор). Если же вы, например, хотите чтобы процесс работал на первом и втором CPU, воспользуйтесь командой:
taskset 0x00000003 google-chrome
Вместо масок вы можете воспользоваться опцией -c утилиты taskset (подробней об этом — на man-странице программы).
Если вы хотите узнать, на каких процессорах выполняется тот или иной процесс, вы можете воспользоваться командой:
taskset -p XXXX
где XXXX замените на PID интересующего вас процесса. Например, если вы получите информацию о любом процессе, для которого «привязка» не выполнялась, в двухпроцессорной системе, то вы увидите значение равное трём.
Может ли taskset пригодиться вам для увеличения производительности вашей системы и стоит ли ей пользоваться сплошь и рядом? Нет. Однако, taskset может очень вам помочь, когда вы имеете дело с приложениями, которые, возможно. вызывают проблемы в системе.
Оригинал статьи на ServerWarch.Com