摘要:能夠提供被監(jiān)控虛擬機(jī)的內(nèi)存線程類的加載以及等信息,從而能夠?qū)Ψ?wù)器的運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)控。目前支持兩種監(jiān)控方法方法和基于的方法。下一篇博客講解以方式實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
轉(zhuǎn)自:http://www.cnblogs.com/catkin...
介紹兩個(gè)jdk1.8自帶的可視化監(jiān)視工具
Jconsole:
Java 6.x采用JMX方式提供了一系列監(jiān)視和管理虛擬機(jī)的API,隨SDK一起發(fā)布的JConsole則是采用這些API實(shí)現(xiàn)監(jiān)控虛擬機(jī)的使用工具。 JConsole能夠提供被監(jiān)控虛擬機(jī)的內(nèi)存、線程、類的加載以及MBean等信息,從而能夠?qū)Ψ?wù)器的運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)控。
JVisualVM:
是Netbeans的profile子項(xiàng)目,已在JDK6.0 update 7 中自帶(java啟動(dòng)時(shí)不需要特定參數(shù),監(jiān)控工具在bin/jvisualvm.exe),能夠監(jiān)控線程,內(nèi)存情況,查看方法的CPU時(shí)間和內(nèi)存中的對(duì) 象,已被GC的對(duì)象,反向查看分配的堆棧(如100個(gè)String對(duì)象分別由哪幾個(gè)對(duì)象分配出來的)。
VisualVM和JConsole在監(jiān)控本地JVM的時(shí)候是很方便的。只要應(yīng)用程序運(yùn)行起來,我們就可以連接上本地JVM,從VisualVM里面監(jiān)控JVM的情況。
遠(yuǎn)程服務(wù)器上的JVM監(jiān)控就需要一些額外的配置。目前VisualVM支持兩種監(jiān)控方法:Jstatd方法和基于JMX的方法。
這篇博客我們先介紹Jstatd方法
jstatd是一個(gè)rmi的server應(yīng)用,用于監(jiān)控jvm的創(chuàng)建和結(jié)束,并且提供接口讓監(jiān)控工具可以遠(yuǎn)程連接到本機(jī)的jvm 。jstatd位于 $JAVA_HOME/bin目錄下,具體使用方法如下:
1,啟動(dòng)RMI服務(wù)
在需要被監(jiān)控的服務(wù)器上面,通過jstatd來啟動(dòng)RMI服務(wù)
首先,配置java安全訪問,在服務(wù)器jdk路徑(/java_home/bin)下新建文件
名稱: jstatd.all.policy
內(nèi)容:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
然后在進(jìn)入jstatd.all.policy所在目錄下,通過如下的命令啟動(dòng)RMI服務(wù):
./jstatd -J-Djava.security.policy=jstatd.all.policy
或者
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=服務(wù)器IP
2.啟動(dòng)客戶端的VisualVM,添加遠(yuǎn)程主機(jī)
VisualVM 在/java_home/bin目錄下
連接后會(huì)自動(dòng)加載出服務(wù)器JVM運(yùn)行情況。
在Jstatd監(jiān)控方式下,JConsole是不能啟用的,因?yàn)镴Console登錄需要端口號(hào)。
另外我們還可以為VisualVM安裝一些插件,比如GC,MBeans等等。滿足自己的需要。下一篇博客講解以JVM方式實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70515.html
摘要:原文鏈接這是專家系列文章的第二篇。運(yùn)行在本地虛擬機(jī)上的應(yīng)用的又稱為,通常與相同。性能數(shù)據(jù)需要持續(xù)觀察,因此在運(yùn)行時(shí)需要定時(shí)輸出的監(jiān)控信息。新生代容量的統(tǒng)計(jì)信息。是提供的一個(gè)式的圖表監(jiān)控工具。 原文鏈接:http://www.cubrid.org/blog/dev-platform/how-to-monitor-java-garbage-collection/ 這是GC專家系列文章的第二...
摘要:引曾幾何時(shí)這句話總是在你的程序中出現(xiàn),新手到是什么問題后就去改了內(nèi)存大小還總是分不清楚,想的是總之設(shè)大點(diǎn)我就看不到這個(gè)錯(cuò)誤了。稍微有點(diǎn)經(jīng)驗(yàn)的會(huì)翻翻看看什么地方會(huì)出現(xiàn)內(nèi)存泄露,當(dāng)然也會(huì)改參數(shù),但會(huì)有節(jié)制的改了。 引 曾幾何時(shí)java.lang.OutOfMemoryError: Java heap space這句話總是在你的程序中出現(xiàn),新手search到是什么問題后就去改了內(nèi)存大小還總...
摘要:為了安全考慮有些服務(wù)器會(huì)被限制登錄本文介紹如何獲取遠(yuǎn)程服務(wù)器上進(jìn)程的運(yùn)行狀態(tài)啟動(dòng)服務(wù)在服務(wù)器端啟動(dòng)服務(wù)后遠(yuǎn)程的機(jī)器可以通過協(xié)議獲取服務(wù)器上程序的運(yùn)行狀態(tài)在服務(wù)器上創(chuàng)建的授權(quán)文件假設(shè)文件路徑為內(nèi)容如下如果你的目錄不是的話請(qǐng)改為正確的值接下來通 為了安全考慮, 有些服務(wù)器會(huì)被限制登錄. 本文介紹如何獲取遠(yuǎn)程服務(wù)器上 Java 進(jìn)程的運(yùn)行狀態(tài). 啟動(dòng) jstatd 服務(wù) 在服務(wù)器端啟動(dòng) ...
摘要:快照,帶線程命令,是顯示全部進(jìn)程,是顯示線程,全格式輸出顯示進(jìn)程樹,不加顯示所有實(shí)時(shí)快照推薦程度按數(shù)字從小到大。 有時(shí)候好好的程序放到生產(chǎn)服務(wù)器上一段時(shí)間后,就會(huì)發(fā)現(xiàn)服務(wù)器響應(yīng)緩慢,進(jìn)而進(jìn)一步發(fā)現(xiàn)是cpu過高,于是就慌了,造成cpu過高的原因很多,不過大多是由于資源吃緊造成,例如:sql執(zhí)行過慢,程序里存在死循環(huán),數(shù)據(jù)庫連接未釋放,網(wǎng)絡(luò)阻塞導(dǎo)致的第三方框架代碼出現(xiàn)死循環(huán),大量的操作導(dǎo)致...
閱讀 4675·2021-09-22 16:06
閱讀 2074·2021-09-22 15:22
閱讀 1410·2019-08-30 15:54
閱讀 2511·2019-08-30 15:44
閱讀 2341·2019-08-29 16:31
閱讀 2010·2019-08-29 16:26
閱讀 2328·2019-08-29 12:41
閱讀 730·2019-08-29 12:22