這個(gè)問(wèn)題請(qǐng)根據(jù)實(shí)際情況回答,比如Linux命令,或者JDK提供的工具等。
1. 查看JVM進(jìn)程號(hào)的命令是什么? 可以使用 ps ‐ef 和 jps ‐v 等等。
2. 怎么查看剩余內(nèi)存? 比如: free ‐m , free ‐h , top 命令等等。
3. 查看線程棧的工具是什么? 一般先使用 jps命令, 再使用 jstack ‐l
4. 用什么工具來(lái)獲取堆內(nèi)存轉(zhuǎn)儲(chǔ)? 一般使用 jmap 工具來(lái)獲取堆內(nèi)存快照。
5. 內(nèi)存Dump時(shí)有哪些注意事項(xiàng)? 根據(jù)實(shí)際情況來(lái)看,獲取內(nèi)存快照可能會(huì)讓系統(tǒng)暫?;蜃枞欢螘r(shí)間,根據(jù)內(nèi)存量決定。 使用jmap時(shí),如果指定 live 參數(shù),則會(huì)觸發(fā)一次FullGC,需要注意。
6. 使用JMAP轉(zhuǎn)儲(chǔ)堆內(nèi)存大致的參數(shù)怎么處理? 示例: jmap ‐dump:format=b,file=3826.hprof 3826
7. 為什么轉(zhuǎn)儲(chǔ)文件以 .hprof 結(jié)尾? JVM有一個(gè)內(nèi)置的分析器叫做HPROF, 堆內(nèi)存轉(zhuǎn)儲(chǔ)文件的格式,最早就是這款工具定 義的。
8. 內(nèi)存Dump完成之后,用什么工具來(lái)分析? 一般使用Eclipse MAT工具,或者 jhat 工具來(lái)處理。
9. 如果忘記了使用什么參數(shù)你一般怎么處理? 上網(wǎng)搜索是比較笨的辦法,但也是一種辦法。 另外就是,各種JDK工具都支持 ‐h 選項(xiàng)來(lái)查看幫助信息,只要用得比較熟練,即使 忘記了也很容易根據(jù)提示進(jìn)行操作。