De man taskset
:
taskset é usado para definir ou recuperar a afinidade de CPU de um processo em execução, dado seu PID ou para iniciar um novo COMMAND com uma determinada CPU afinidade. A afinidade da CPU é uma propriedade do agendador que "liga" um processo para um determinado conjunto de CPUs no sistema. O agendador de Linux honrará a afinidade de CPU fornecida e o processo não será executado em nenhuma outra CPU. Observe que o planejador do Linux também suporta afinidade de CPU natural: o agendador tenta manter os processos na mesma CPU, desde que prático por razões de desempenho. Portanto, forçando uma CPU específica afinidade é útil apenas em certas aplicações.
Embora isso garanta que o processo seja executado apenas em uma determinada CPU (ou em um conjunto de CPUs), a configuração de afinidade não garante que nenhum outro processo será executado nessas CPUs. Para conseguir isso, eu acho que você pode mudar gentileza (ou nível bom ) do processo para seu valor mais baixo (1) - veja man nice
e man renice
para detalhes .
Definir o nível mais baixo garante que o processo não dará à CPU outra tarefa durante a execução - no entanto, a garantia não é 100% (por exemplo, se você tiver outro processo com a mesma prioridade no sistema, ambos processess pode ser agendado para compartilhar a CPU)