De repente, vejo muitos interruptores de contexto involuntários para o aplicativo multi thread

1

Eu tenho um aplicativo multi-threaded, com 4 threads de trabalho que até recentemente tiveram um desempenho muito bom na minha CPU de 4 núcleos.

O sistema está executando o Ubuntu 16.04.3 LTS.

Hoje atualizei meu sistema operacional com sudo apt-get dist-upgrade

Agora, de repente, vejo um desempenho muito menor no meu aplicativo, e rastreei isso até os encadeamentos do trabalhador que estão recebendo o contexto involuntariamente.

Olhando / proc / xxx / status para um segmento de trabalho, vejo que está sendo atingido por 80 interrupções de contexto involuntárias por segundo, conforme o campo nonvoluntary_ctxt_switches está aumentando rapidamente.

Observe que, pelo menos, 30 vezes por segundo, não haverá trabalho na fila, e os itens de trabalho serão aceitos voluntariamente.

O valor do segmento NICE é 0 e PRIORITY é 20.

Por que esses interruptores de contexto involuntários aparecem de repente? O Ubuntu recentemente alterou o agendador no kernel ou algo do tipo? Há alguma maneira de descobrir por que e quem está colidindo com os tópicos?

Além disso, não apenas os degraus são removidos, mas também leva um bom tempo para ser reparado novamente.

    
por Bram 28.10.2017 / 06:41

0 respostas