監視JAVA應用程式:向鎖死檢測應用程式添加方法分析視圖

來源:互聯網
上載者:User
關鍵字 java 應用程式 分析視圖 鎖死檢測

本系列的第 2 部分將採用 第 1 部分中的鎖死檢測應用程式,並添加一個方法分析視圖來顯示應用程式的哪些地方花費了大部分的 CPU 週期。

Health Center 是一款適用于 JAVA 的 IBM®監視和診斷工具,是一個免費的低開銷診斷工具和 API,用於監視在 IBM JAVA 虛擬機器 (JVM) 上運行的應用程式。 有關此 API 可以執行的操作的細節,請參閱 第 1 部分。 在本文中,將會採用 第 1 部分中開發的鎖死檢測應用程式,並添加一個方法分析視圖來顯示應用程式的哪些地方花費了大部分的 CPU 週期。

系統要求

Health Center API bundle 至少需要安裝 HTTP://www.aliyun.com/zixun/aggregation/13428.html">Eclipse 3.4 或 Eclipse 4.x。

測試應用程式

在 第 1 部分中,已經測試了生成鎖死條件的應用程式。 在本文中,我們將使用該應用程式的修訂版,該版本包含一些會給 CPU 施加壓力的功能。 請參閱 下載,以獲得相關的原始程式碼。 清單 1 顯示了一個代碼片段示例:

清單 1. 新的 GenerateDeadLock 原始程式碼的代碼片段

private class runSlowMethods extends Thread { public void run() { SlowClassAndMethod1 sCAM1 = new SlowClassAndMethod1(); SlowClassAndMethod2 sCAM2 = new SlowClassAndMethod2(); sCAM1.start(); sCAM2.start(); } private class SlowClassAndMethod1 extends Thread { public void run() { while (true) { slowMethod1(); try { Thread.sleep( 2000); } catch (InterruptedException e) { e.printStackTrace(); } } } private void slowMethod1() { String largeString = new String("a string to add"); for (int i = 0; i < 1000000; i++) { largeString.concat(largeString); } } } private class SlowClassAndMethod2 extends Thread { public void run() { while (true) { slowMethod2(); try { Thread.sl eep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } private void slowMethod2() { HashMap map = new HashMap(); String largeString = new String("another string to add"); for (int i = 0; i < 1000000; i++) { map.put(i, largeString); largeString.concat(largeString); } }

通過與該程式連接的 Health Center 代理啟動該程式。 要使用 JAVA 5 SR10 及更高版本、JAVA 6 SR5 及更高版本和 JAVA 7 並通過代理來啟動該應用程式,請使用以下命令(參見圖 1):

java -Xhealthcenter GenerateDeadlock

圖 1. 啟動應用程式

要使用 JAVA 5 SR9 及其早期版本或者 JAVA 6 SR4 及其早期版本並通過代理來啟動應用程式,請使用:

java -agentlib:healthcenter -Xtrace:output=healthcenter.out GenerateDeadlock

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.