復(fù)雜的故事簡(jiǎn)單說(shuō)镊掖,復(fù)雜的問(wèn)題簡(jiǎn)單做。
現(xiàn)象
1:應(yīng)用部分功能只要一訪問(wèn)就重啟褂痰。
2:每一次重啟在was安裝目錄下產(chǎn)大批量文件,主要4類:core.*.dmp,javacore,gc和trc文件
關(guān)鍵點(diǎn)
重啟亩进、core.dmp、javacore缩歪、trc归薛。
分析
- 注意core.dmp
1. core.dmp文件大,每個(gè)都有1.5G匪蝙,有些會(huì)接近2G主籍,及時(shí)刪除,避免文件空間爆滿逛球。
2. core.dmp 區(qū)別于可分析的 headump.phd文件千元,是不能用“IBM Thread and Monitor Dump Analyzer for Java”分析的文件,core.dmp是當(dāng)前進(jìn)程的內(nèi)存情況颤绕,當(dāng)前進(jìn)行消耗了多大內(nèi)存幸海,這個(gè)文件就對(duì)應(yīng)多大,是操作系統(tǒng)進(jìn)行的內(nèi)存快照奥务,文件大物独,也沒(méi)有實(shí)際的分析價(jià)值,可以分析一下javacore文件氯葬。
- javacore 文件
javacore文件網(wǎng)上分析的貼子多挡篓,這么不描述,對(duì)于JDK問(wèn)題的情況多半會(huì)拋一些中間價(jià)或JDK的類目錄和一些說(shuō)明在Note的地方溢谤,可以重點(diǎn)注意這一塊瞻凤。javacore可以用“IBM Thread and Monitor Dump Analyzer for Java”分析,也可以用文本編輯器簡(jiǎn)單打開看看世杀。
“IBM Thread and Monitor Dump Analyzer for Java”工具的使用:
JCA
- 漫長(zhǎng)分析
最漫長(zhǎng)的定位過(guò)程就是排除法阀参,修改代碼,找出其中一處導(dǎo)致服務(wù)重啟的代碼瞻坝,而且是JDK原生的方法蛛壳,結(jié)合產(chǎn)生core.dmp文件基本就可以判斷為JDK有問(wèn)題。
如果產(chǎn)生了core*.dmp文件可以直接替換下JDK試試衙荐,直接替換JDK相對(duì)于漫長(zhǎng)的代碼分析效率更高捞挥。
處理方法
- 拷貝JDK:
找一臺(tái)安裝了同版本was或同版本JDK的服務(wù)器(也可以直接在網(wǎng)上下載同版本JDK來(lái)安裝),登陸遠(yuǎn)程服務(wù)器砌函,使用scp 復(fù)制一份jdk到有問(wèn)題的機(jī)器讹俊。
例如:有問(wèn)題的機(jī)器IP為192.168.22.10仍劈,令一臺(tái)機(jī)器為192.168.22.11贩疙,賬號(hào)為was,登陸192.168.22.11这溅,使用命令:scp -r /was/AppServer/java was@192.168.22.10:/was/AppServer/java_2,此時(shí)坏挠,在10機(jī)器就有了一個(gè)新的java芍躏,文件夾是java_2
- 配置新JAVA_HOME:
登陸was控制臺(tái),“環(huán)境--WebSphere變量--JAVA_HOME”降狠,修改路徑為到新的java.
- 重啟服務(wù)
重啟Server,檢查是否正常庇楞。
后記
嚴(yán)防:嚴(yán)防對(duì)JDK的文件替換和刪除操作榜配,JDK一個(gè)點(diǎn)的修改對(duì)應(yīng)用的影響可能特別大。
簡(jiǎn)單應(yīng)用吕晌,希望對(duì)你有用蛋褥。
<small>筆者問(wèn)題處理環(huán)境:was6升級(jí)到was7,JDK1.5升級(jí)到JDK1.6睛驳,是新環(huán)境的JDK1.6有問(wèn)題烙心,定位問(wèn)題后替換JDK1.6,問(wèn)題解決乏沸。</small>