为什么我的程序使用系统 cpu 时间?

why is my program using system cpu time?

我写了一个耗时的python程序。基本上,python 程序将大部分时间花在由 f2py 包装的 fort运行 例程中,而 fort运行 例程将大部分时间花在 lapack 中。然而,当我在我的工作站上 运行 这个程序时,我发现 cpu 时间的 80% 是用户时间,cpu 时间的 20% 是系统时间。

在另一个 SO 问题中,我读到:

The difference is whether the time is spent in user space or kernel space. User CPU time is time spent on the processor running your program's code (or code in libraries); system CPU time is the time spent running code in the operating system kernel on behalf of your program.

所以如果这是真的,我假设所有 cpu 时间都应该用于用户时间。 20% 的系统时间是否表示我需要分析程序?

编辑:

更多信息:我无法重现 20% 的系统 cpu 时间。在另一个 运行 中,time 命令给出:

操作系统在任何给定时刻不断切换 运行ning 的内容。你的程序会 运行 一段时间,但最终会有一个中断,系统会切换到其他东西,或者它可能只是决定 运行 其他东西一两秒钟,然后切换背部。很难强制操作系统不执行此行为。这是 OS; 工作的一部分;让所有领域的事物都在移动。