編輯:關於android開發
前言
因為最近一個項目部署在客戶那邊運行一個月左右就會出現Java內存溢出的問題,為了時時監控java內存的情況需要,需要遠程查看服務器上java內存的一些情況。在公司模擬部署了遠程監視Linux下項目運行的情況。
一、簡單介紹兩個jdk1.6自帶的可視化監視工具
Jconsole:Java 6.x采用JMX方式提供了一系列監視和管理虛擬機的API,隨SDK一起發布的JConsole則是采用這些API實現監控虛擬機的使用工具。 JConsole能夠提供被監控虛擬機的內存、線程、類的加載以及MBean等信息,從而能夠對服務器的運行情況進行實時監控。
JVisualVM: 是Netbeans的profile子項目,已在JDK6.0 update 7 中自帶(java啟動時不需要特定參數,監控工具在bin/jvisualvm.exe),能夠監控線程,內存情況,查看方法的CPU時間和內存中的對 象,已被GC的對象,反向查看分配的堆棧(如100個String對象分別由哪幾個對象分配出來的)。
二,如果是win系列的電腦查看本機的內存情況,直接找到jdk的安裝路徑雙擊上面提到的可視化監視工具即可
三,如果是想監視遠程的java內存的情況可要做一些相應的配置
2. 不帶用戶名密碼的參數配置(很簡單),只需要修改jboss中bin下的run.sh。在該句下邊添加上紅色字跡的部分即可
JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.250"
注意:
1、9999表示監控的端口號,確保指定的端口不被占用;
2、可以采用netstat -an來查看已經占用的端口;
3、配合lsof -i:portnum 來查看占用端口的具體應用程序;
4、另外如果開啟了防火牆服務,請確保端口能夠透過防火牆訪問;
5、192.168.1.250為當前服務器的IP;
3. 啟動JBoss服務器
./run.sh -b 192.168.1.250 & 必須通過-b參數指定Jboss服務器綁定的地址;
允許所有用戶連接 則為 -b 0.0.0.0
4, 連接遠程虛擬機
啟動本機%JAVA_HOME%\bin目錄下的JConsole,
在彈出對話框的“遠程進程:”一欄中,輸入192.168.1.250:9999,然後點擊“連接”,如下圖所示:
附加:帶用戶名密碼的參數配置
一,修改jboss中bin下的run.sh。在該句下邊添加上紅色字跡的部分
JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.250"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.6/jre/lib/management/jmxremote.password"
注意 $JAVA_HOME/jre/lib/management/jmxremote.password 中 jmxremote.password是由原來的jmxremote.password.template復制一份得到,
去掉monitorRole QED前面的# 如果不做修改 登入的用戶名:monitorRole密碼:QED (可根據需要修改用戶名密碼,但是如果做修改也要同
是修改jmxremote.access中的相對應名字的權限
二,如果啟動過程中出現這個問題或者錯誤
則是因為jmxremote.password的權限問題 在該文件路徑下執行:chmod 600jmxremote.password
重新按照3啟動項目即可。
四,對於JVisualVM而言在 樹結構的 Remote中添加遠程ip,然後右鍵該ip添加JMX鏈接添加上端口號和用戶名密碼即可鏈接成功,如圖所示:
Android 用adb pull或push 拷貝手機文件到到電腦上,拷貝手機數據庫到電腦上,拷貝電腦數據庫到手機上,先說一下adb命令配置,如果遇到adb不是內部或外部
百度地圖簡單的使用,百度地圖簡單使用最近寫了百度地圖的Demo,所以總結下遇到的問題; 1.使用百度地圖,先看下官方的例子。要再清單文件中配置KEY,如果用到定位要注冊s
記一次流量異常處理前兩天接到一個做開發的朋友電話,說他們客戶一台服務器開機後,所有一個網段的機器上網都變慢了,他遠程操作這台服務器也一卡一卡的。我第一反應就是機器被人攻擊
ImageLoader簡單使用,imageloader如圖是效果圖 &nb