2 Answers
2

edit: I think its likely that the OP was not in threads mode in top, and that was the reason for the difference in listings between top and ps aufx | head. For example I see the migration threads in both top and ps with these options;

according to this question on askubuntu.com , it suggests that the CPU% you see attributed to migration/N threads (with no associated process) are "the threads you are seeing are kernel threads responsible for moving threads between CPUs."

There is a thread here which references a kernel issue relating to migration/N threads thrashing under no load, if you are seeing associated performance issues.

This doesn't answer the question why "top" cannot see it, or does it?
–
ckujauFeb 4 at 3:53

In "threads" mode, I see the migration/N threads in "top -H", the same as "ps aufx | head". So I guess the OP needed to provide the "-H" option to top, or alternative press "H" when in interactive mode. Reading back, I agree, I don't think what I wrote answers the question very well. :-(
–
Tom HFeb 4 at 7:38

While "top -H" shows individual threads, I came across the same disconnect between "ps" and "top" and thus came across this question on Serverfault: "ps" reported a very high CPU usage for (kernel) threads but they did not show up in "top" or "top -H". This comment may get too long to explain in detail, two pointers though: Gentoo #394487 and upstream #47341. So, either it's a kernel problem or a problem with an old procps version.
–
ckujauFeb 5 at 8:27