jvm监控工具(排查内存溢出和内存泄漏)
生活随笔
收集整理的這篇文章主要介紹了
jvm监控工具(排查内存溢出和内存泄漏)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Visual VM可以實(shí)時(shí)監(jiān)控jvm的運(yùn)行情況
按Perform GC會(huì)立即進(jìn)行一次GC
按Heap Dump會(huì)生成內(nèi)存信息報(bào)告
還可以監(jiān)控SQL
使用visualVM排查內(nèi)存泄漏
模擬內(nèi)存溢出:
import java.util.ArrayList; public class OOM {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<>();int i = 0;while (true) {list.add(i++);}} }
使用visual VM打開hprof文件
發(fā)現(xiàn)Integer占用了97.9%內(nèi)存。
jmap查看內(nèi)存信息或dump下內(nèi)存詳情
可以使用visual VM 查看這個(gè)文件,一般這種做法是用在Linux無圖形化界面的時(shí)候。
其他的排查工具:
jconsole java監(jiān)視和管理控制臺
jconsole其實(shí)已經(jīng)包含以下的所有指令,不過如果在沒界面的Linux系統(tǒng)上就要用到下面的指令
jps查看當(dāng)前運(yùn)行的java程序
jstat -gcutil pid 間隔時(shí)間(毫秒)
單位:內(nèi)存的百分比
s0:survivor0區(qū),s1:survivor1區(qū), E:eden區(qū) ,O:old區(qū) ,M:元空間 ,CSS:壓縮類
YGC:youngGC的次數(shù),YGCT:youngGC時(shí)間 ,FGC:FullGC次數(shù),FGCT:FullGC時(shí)間
GCT:GC時(shí)間平均時(shí)間
jstack -pid 用于分析線程
總結(jié)
以上是生活随笔為你收集整理的jvm监控工具(排查内存溢出和内存泄漏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arrays.sort和Collecti
- 下一篇: Java实现按名称、日期、大小对文件进行