0

处理器的数量与 CPU 使用率的计算有什么关系。我从有关 CPU 使用率计算的各种链接中提到了进程 CPUtime/execution时间。如果是双核处理器,是不是像

cpu usage = (process cpu time)/(execution time)*(no. of processors)

或者

cpu usage = (process cpu time)/(execution time)

?

4

1 回答 1

1

我喜欢让事情变得简单。在 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%,则可能您不需要多个线程并且您想要更少的线程。

于 2012-07-27T07:36:31.820 回答