我需要來分析一個商業的Java應用程序,其中我沒有源CPU的負荷。檔案Java的CPU負載
我可以看到該應用程序是CPU密集型的,但我怎麼能理解,如果CPU是忙着做FP操作,整數運算,還是其他什麼東西?
如果我能找到我可以使用一些開源基準測試工具來模擬不同的硬件平臺上的負荷,瞭解哪些CPU爲我提供最好的價值,這是我的終極目標典型負載。
我需要來分析一個商業的Java應用程序,其中我沒有源CPU的負荷。檔案Java的CPU負載
我可以看到該應用程序是CPU密集型的,但我怎麼能理解,如果CPU是忙着做FP操作,整數運算,還是其他什麼東西?
如果我能找到我可以使用一些開源基準測試工具來模擬不同的硬件平臺上的負荷,瞭解哪些CPU爲我提供最好的價值,這是我的終極目標典型負載。
如果您使用的是JDK 1.6.x,我強烈建議jvisualvm,它是$ JAVA_HOME/bin中的可執行文件。
這將幫助您確定CPU瓶頸,但如果你沒有來源,你必須解決根本問題的能力有限。
您需要下載JDK(不是JRE)或jvisualvm的獨立版本。它可以附加到正在運行的程序!需要Oracle JVM。 –
的JProfiler的方案(商業軟件)http://www.ej-technologies.com/products/jprofiler/overview.html使我受益匪淺。 (2 - 3年前,但軟件應該仍然不錯:))
我一直在使用dynaTrace produciton版,它對我有很大的幫助。低開銷,對CPU和內存瓶頸的高可見性。
我推薦的dynaTrace。
你可以使用jprobe/jprofiler這樣的工具進行反思 - 它會告訴你哪些方法/操作正在被調用,什麼會消耗時間和內存。儘管他們本身可能不會執行CPU,但是您肯定可以查看sar/top/mpstat(即CPU跳轉到哪裏,拍攝快照)? – aishwarya