簡體   English   中英

為什么 Java CPU 使用率與 Windows 資源監視器 CPU 使用率不同?

[英]Why is the Java CPU usage different from the Windows Resource Monitor CPU usage?

我們正在對 Java 應用程序的性能進行故障排除。 最近我們一直在為應用程序使用應用程序性能診斷工具。 它還測量 CPU 和 Memory(不知道具體方法,但請聯系供應商)。 除此之外,我們還看到了帶有 CPU 使用率的 Windows 進程/資源監視器。 這些完全不同,我們沒有任何線索。

在 Windows 服務器 2012 機器上運行的 Java 應用程序 (openjdk8)。 當我們從 Java 應用程序測量 CPU 時,我們始終看到從 100% 到 500% 的峰值。 雖然我們的虛擬機/服務器有 12 個 CPU,Windows 資源監視器顯示 CPU 使用率始終低於 10-15%。 我對這種不確定性幾乎沒有疑問;

1 - 為什么應用程序和 Windows 資源監視器之間的 CPU 測量存在差異? 2 - 怎么可能爆500%? 3 - 我在哪里可以在 Windows 操作系統上正常調整應用程序分配的 CPU,以便它有 500% 可直接用作 CPU 資源

這兩種工具之間的一個區別似乎是什么是 100%:

  • 您的工具測量 1 個核心全忙 = 100%,5 個核心全忙 = 500%
  • Windows 資源監視器測量 12 個核心全忙 = 100%,1 個核心全忙 = 8%,2 個核心全忙 = 16%

另一個區別可能是采樣/平均周期:

  • 您的工具可能會測量峰值使用率:在采樣期間至少有一次 5 個核心全忙
  • Windows 資源監視器測量平均使用率:5 個內核在 40% 的采樣時間內忙碌,所有內核在剩余時間內空閑,平均使用全部可用容量的 16%

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM