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