O tipo de switch strace que eu costumo usar é esse.
strace -ffttT -p pid -o /tmp/strace.out
Um exemplo disso seria,
19:35:57.485493 mprotect(0x7f35e7472000, 16384, PROT_READ) = 0 <0.000037>
19:35:57.485599 mprotect(0x7f35e7692000, 4096, PROT_READ) = 0 <0.000030>
19:35:57.485697 mprotect(0x7f35e78b7000, 4096, PROT_READ) = 0 <0.000030>
19:35:57.485782 munmap(0x7f35e7896000, 129588) = 0 <0.000037>
19:35:57.485875 set_tid_address(0x7f35e78949d0) = 10730 <0.000029>
19:35:57.485960 set_robust_list(0x7f35e78949e0, 0x18) = 0 <0.000024>
19:35:57.486048 futex(0x7fff8f58628c, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000025>
19:35:57.486131 futex(0x7fff8f58628c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f35e7894700) = -1 EAGAIN (Resource temporarily unavailable) <0.000024>
Você vê a diferença horária no lado direito da chamada do sistema, mostrando quanto tempo levou para passar de uma chamada do sistema para outra.
Você perceberá a diferença de horário entre as chamadas do sistema. Portanto, quando você vê que uma chamada do sistema tem alguns segundos de diferença com a próxima chamada do sistema, então está fazendo barulho.
Outro método é despejá-lo com o gcore. No entanto, isso requer um pouco de experiência na navegação pelo gdb.
Mas, se o thread for um thread do kernel, não será possível rastreá-lo ou despejá-lo. Nesse caso, temos que usar algo mais complexo. No kernel RHEL5, usamos oprofile. No RHEL6, usamos perf. Eu prefiro perf sobre oprofile. Os dados do Perf podem ser coletados com formato gráfico, mostrando a chamada do sistema em que a porcentagem máxima de CPU está sendo usada.
Com um teste perf, eu vejo isso.
38.06% swapper [kernel.kallsyms] [k] mwait_idle_with_hints ↑
29.45% swapper [kernel.kallsyms] [k] read_hpet
4.90% swapper [kernel.kallsyms] [k] acpi_os_read_port ▒
4.74% swapper [kernel.kallsyms] [k] hpet_next_event
Ele mostra a função do kernel em que 38% do tempo da CPU está sendo gasto. Agora, podemos verificar a função e ver o que está fazendo e o que deve fazer.
Com alguns exemplos, não é tão difícil.