Пример использования жесткой привязки процесса к определенному процессору (CPU affinity).Устанавливаем пакет schedutils
(Debian: apt-get install schedutils, Red Hat: up2date schedutils или rpm -ivh schedutils*)Привязка процесса с pid 13545 к CPU #0:
taskset -c 1 -p 13545
к 3 и 4 CPU:
taskset -c 3,4 -p 13545Загрузку процессоров в SMP системе удобно оценивать через утилиту mpstat из пакета sysstat.
mpstat -P ALLУтилизацию подсистемы ввода/вывода можно посмотреть через команду iostat
URL: http://www.cyberciti.biz/tips/setting-processor-affinity-cer...
Обсуждается: http://www.opennet.me/tips/info/1017.shtml
Ничего не понятно
Привязка процесса с pid 13545 к CPU #0:
taskset -c 1 -p 13545
к 3 и 4 CPU:
taskset -c 3,4 -p 13545Как же тогда привязать, скажем к CPU #1 или #2 ?
У автора что-то нумерация разнится.
это у тебя нумерация сбиласьв ядре процессоры считаются 0,1,2,3
в этой проге: 1,2,3,4 - так же и задаютсясовсем с абтрагированием плохо?
А как задать процессу при старте определенный ПИД, чтоб уж сразу привязывать?
>А как задать процессу при старте определенный ПИД, чтоб уж сразу привязывать?товарисч, нужно выдыхать и заффтракать перед выходом на работу.
PID - это НЕ управляемая весч (в стандартном ядре)
Чем плоха привязка после запуска?
Скриптом вылавливаешь pid процесса и привязываешь.
А можно вообще вылов pid'a и привязку встроить в стартовый скрипт самого привязываемого процесса.
для тех кто в танке:-p : Operate on an existing PID and not launch a new task (default is to launch a new task)
то есть по умолчанию запускатся новый процесс сразу с привязкой taskset -c 1 <ваш процесс>
Скачал последнюю версию schedutils (schedutils-1.5.0.tar.gz). На моей RH 8.0 c ядром 2.4.20-28.8.smp компилится не хочет. Может надо пропачить ядро. Может кто кинет ссылку на нужный патч?