2012-01-12 53 views
2

我們有一個部署了Axis 1.1的JBOSS服務器。我們使用JMeter來測試使用300個線程來抽取WebService請求的服務器的性能。所有4個CPU上的服務器CPU使用率上升至60-70%。所以我們認爲,問題將出現在我們的代碼中,因此通過從第一個函數本身返回來禁用整個代碼。但代碼修改後的CPU使用率仍然相同。JBOSS服務器上的高CPU使用率

+0

你真的需要說明你正在使用的是什麼版本的JBoss。主動使用的發佈版本從4.0到7.1,主要版本彼此都非常不同。 – 2012-01-14 11:24:43

回答

2

這很可能是垃圾收集器運行頻繁。將以下選項添加到您的JVM並分析結果:

-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 
-Xloggc:gc.log 

您也可以考慮-XX:+PrintHeapAtGC進一步的細節。分析JVM在垃圾收集器中花費多少時間是相當容易的。

如果GC不是問題,則可能需要插入一些分析器才能找到熱點。然而,註釋掉代碼並不會減少CPU的壓力,因此建議使用垃圾收集器。