linux(ubuntu)下使用jconsole
Posted on 2009-03-24 11:45 Fingki.li 閱讀(6284) 評(píng)論(2) 編輯 收藏 所屬分類: About linux從JDK5開始就已經(jīng)增加了對(duì)VM的監(jiān)控功能jconsole,JDK1.6也有了進(jìn)一步的改進(jìn)。
然而對(duì)linux特別是Ubuntu用戶來說,會(huì)碰到一些小問題。
在終端進(jìn)入java_home/bin目錄下,
# jconsole
結(jié)果報(bào)錯(cuò)如下:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
原因就是在ubuntu下用java寫Swing應(yīng)用程序時(shí)不能使用SystemLookAndFeel。
實(shí)際上出現(xiàn)這個(gè)問題是因?yàn)閟wing的默認(rèn)laf采用systemlaf,而Ubuntu里卻沒有定義這個(gè)laf。
一種很方便的解決方法就是把語言環(huán)境改成英文:
# export LANG=en
但對(duì)中文用戶很不方便(盡管swing程序可以運(yùn)行)。
另一種方法就是程序啟動(dòng)時(shí)加上jvm運(yùn)行時(shí)參數(shù),比如 運(yùn)行jconsole :
# jconsole -J-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel
另外,jconsole對(duì)于hostname也有要求,如果執(zhí)行:
# hostname -i
顯時(shí) 127.0.0.1,則需要在 /etc/hosts中把127.0.0.1改成機(jī)器的外網(wǎng)IP。
這下,我們就又多了一個(gè)jvm分析的利器。
然而對(duì)linux特別是Ubuntu用戶來說,會(huì)碰到一些小問題。
在終端進(jìn)入java_home/bin目錄下,
# jconsole
結(jié)果報(bào)錯(cuò)如下:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
原因就是在ubuntu下用java寫Swing應(yīng)用程序時(shí)不能使用SystemLookAndFeel。
實(shí)際上出現(xiàn)這個(gè)問題是因?yàn)閟wing的默認(rèn)laf采用systemlaf,而Ubuntu里卻沒有定義這個(gè)laf。
一種很方便的解決方法就是把語言環(huán)境改成英文:
# export LANG=en
但對(duì)中文用戶很不方便(盡管swing程序可以運(yùn)行)。
另一種方法就是程序啟動(dòng)時(shí)加上jvm運(yùn)行時(shí)參數(shù),比如 運(yùn)行jconsole :
# jconsole -J-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel
另外,jconsole對(duì)于hostname也有要求,如果執(zhí)行:
# hostname -i
顯時(shí) 127.0.0.1,則需要在 /etc/hosts中把127.0.0.1改成機(jī)器的外網(wǎng)IP。
這下,我們就又多了一個(gè)jvm分析的利器。