运行多个进程时,CPU 亲和性不会保持有限

问题描述

我在 Ubuntu 18.04 机器上使用 taskset 运行多个 python 进程。同时,我正在监视这些进程运行的代码的计算时间。通过目视观察,我注意到有时某个核心上的占用率(核心的使用百分比)会下降到 0,并且该特定进程的计算时间会增加。我无法解释为什么我会看到这种行为。例如,我使用 taskset 为进程分配了 4 个线程 (0-3),然后在理想情况下,所有线程都应该被完全占用。但我观察到的是所有线程都被占用了几分钟,然后其中一个或两个线程的占用率完全下降到并且没有恢复。

如果我检查 PID 的线程利用率,则输出与我在 taskset 中定义的相同。

还有一个问题。如果我使用 taskset 运行单个进程,那么我不会看到这种行为。仅在运行多个进程时。

关于如何解决它的任何可能的帮助?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)