Java面試:說一下Java內存泄漏和排查方法

ps -ef| grep java

1.查看進程CPU、內存佔用情況:
    top –H –p 58527
2.查看服務器內存使用
    df -h 查看磁盤情況
    du -h --max-depth=1 文件目錄佔用資源情況。
3.查看內存使用情況,緩存區的情況,使用,空閒
    free -m        
    S0C:年輕代中第一個survivor(倖存區)的容量 (字節)
    S1C:年輕代中第二個survivor(倖存區)的容量 (字節)
    S0U:年輕代中第一個survivor(倖存區)目前已使用空間 (字節)
    S1U:年輕代中第二個survivor(倖存區)目前已使用空間 (字節)
    EC:年輕代中Eden(伊甸園)的容量 (字節)
    EU:年輕代中Eden(伊甸園)目前已使用空間 (字節)
    OC:Old代的容量 (字節)
    OU:Old代目前已使用空間 (字節)
    PC:Perm(持久代)的容量 (字節)
    PU:Perm(持久代)目前已使用空間 (字節)
    YGC:從應用程序啓動到採樣時年輕代中gc次數
    YGCT:從應用程序啓動到採樣時年輕代中gc所用時間(s)
    FGC:從應用程序啓動到採樣時old代(全gc)gc次數
    FGCT:從應用程序啓動到採樣時old代(全gc)gc所用時間(s)
    GCT:從應用程序啓動到採樣時gc用的總時間(s)

4.查看執行線程信息
    jstack 2829 > 1.log    

    grep -A 1'java.lang.Thread.State' jstack.log | wc -l
    
5.下載堆文件進行分析代碼Dump    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章