Respostas:
taskset <affinity mask> -p <process>
ie
taskset 1 -p 12345
definir o processo 12345 para usar apenas processador / núcleo 1
A máscara de bits pode ser uma lista (ou seja, 1,3,4 para usar os núcleos 1 3 e 4 de um sistema com 4 ou mais núcleos) ou uma máscara de bit em hexadecimal (0x0000000D a 1,3,4, 0x00000001 apenas para o núcleo 1)
taskset
é geralmente em um pacote chamado shedutils
.
Edit: quase esqueci ... Se você deseja definir a afinidade de um novo comando em vez de alterá-lo para um processo existente, use:
taskset <mask> <program> [<arg1>]...[<argN>]
uso do conjunto de tarefas (util-linux 2.13-pre7): conjunto de tarefas [opções] [máscara | lista de CPUs] [pid | cmd [args ...]] define ou obtém a afinidade de um processo
-p, --pid opera na exibição de pid -c, --cpu-list existente e especifica cpus no formato de lista -h, --help exibe essa ajuda -v, - informações sobre a versão de saída da versão
O comportamento padrão é executar um novo comando: conjunto de tarefas 03 sshd -b 1024 Você pode recuperar a máscara de uma tarefa existente: taskset -p 700 Ou configurá-lo: taskset -p 03 700 O formato da lista usa uma lista separada por vírgula em vez de um mask: taskset -pc 0,3,7-11 700 As faixas no formato de lista podem ter um argumento de avanço: por exemplo, 0-31: 2 é equivalente a mascarar 0x55555555
você sempre pode otimizar seu servidor conforme sua necessidade