突然我看到多线程应用程序有很多非自愿的上下文切换

突然我看到多线程应用程序有很多非自愿的上下文切换

我有一个多线程应用程序,有 4 个工作线程,直到最近在我的 4 核 CPU 上运行得非常好。

系统运行的是 Ubuntu 16.04.3 LTS。

今天我更新了我的操作系统sudo apt-get dist-upgrade

现在,我突然发现我的应用程序的性能大大降低,并且我已将其追溯到工作线程不自觉地进行上下文切换。

查看 /proc/xxx/status 的工作线程,我发现它每秒受到 80 次非自愿上下文切换的影响,因为非自愿_ctxt_开关领域正在迅速增加。

请注意,每秒至少有 30 次,队列中不会有任何工作,工作线程将自愿进入睡眠状态。

线程 NICE 值为 0,PRIORITY 为 20。

为什么那些不自觉的上下文切换突然弹出? Ubuntu 最近是否更改了内核中的调度程序或其他内容?有没有什么方法可以找出为什么以及谁在碰撞线程?

另外:不仅踏板会被更换,而且再次维修也需要相当长的时间。

相关内容