edit: Eu acho provável que o OP não estivesse no modo threads no topo, e essa foi a razão para a diferença nas listagens entre top
e ps aufx | head
. Por exemplo, vejo os encadeamentos de migração em top e ps com essas opções;
$ /bin/top -H -b -n 1 | head -25
top - 07:43:24 up 5 days, 5:07, 18 users, load average: 1.36, 1.03, 0.76
Threads: 1165 total, 1 running, 1164 sleeping, 0 stopped, 0 zombie
... recorte
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
12 root rt 0 0 0 0 S 0.0 0.0 0:45.92 migration/0
e ps aufx
$ ps aufx | head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S Jan30 0:00 [kthreadd]
... recorte
root 11 0.0 0.0 0 0 ? S Jan30 0:00 \_ [rcuob/0]
root 12 0.0 0.0 0 0 ? S Jan30 0:45 \_ [migration/0]
de acordo com esta pergunta em askubuntu.com, isso sugere que a% de CPU que você vê atribuída a threads de migração / N (sem processo associado) é "os threads que você está vendo são threads do kernel responsáveis por mover threads entre CPUs."
Existe um tópico aqui que faz referência a um problema no kernel relacionado a migração / N encadeamento sob carga zero, se você está vendo problemas de desempenho associados.