处理器的数量与 CPU 使用率的计算有什么关系。我从有关 CPU 使用率计算的各种链接中提到了进程 CPUtime/execution
时间。如果是双核处理器,是不是像
cpu usage = (process cpu time)/(execution time)*(no. of processors)
或者
cpu usage = (process cpu time)/(execution time)
?
处理器的数量与 CPU 使用率的计算有什么关系。我从有关 CPU 使用率计算的各种链接中提到了进程 CPUtime/execution
时间。如果是双核处理器,是不是像
cpu usage = (process cpu time)/(execution time)*(no. of processors)
或者
cpu usage = (process cpu time)/(execution time)
?
我喜欢让事情变得简单。在 Java 中,您可以获得每个线程的 cpu 使用率和总 cpu 使用率。
总 cpu 时间 = thread-1 cpu 时间 + thread-2 cpu 时间 + .. + thread-N cpu 时间;
* no of processors
鉴于您很少希望所有线程执行完全相同的工作量,我认为 using 并不是那么有用。
CPU 使用率百分比为
cpu 使用百分比 = 100 * 总 cpu 时间/经过时间。
这意味着,如果您看到大约 100% 的百分比使用率,您正在使用大约一个 CPU 线程。这可能意味着您的应用程序实际上是单线程的,您需要改进多线程的工作方式,即您需要更多线程或修复当前线程的行为方式。如果您看到您的 CPU 使用率远低于 100%,则可能您不需要多个线程并且您想要更少的线程。