最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JVM的常用命令匯總

 更新時間:2022年10月26日 10:42:35   作者:人間湊個數(shù)  
監(jiān)測java應用,最方便的就是直接使用jdk提供的現(xiàn)成工具,在jdk的安裝的bin目錄下,已經(jīng)提供了多種命令行監(jiān)測工具。本文為大家總結了幾個JVM的常用命令,需要的可以參考一下

簡介

監(jiān)測java應用,最方便的就是直接使用jdk提供的現(xiàn)成工具,在jdk的安裝的bin目錄下,已經(jīng)提供了多種命令行監(jiān)測工具,以便于開發(fā)人員和運維人員監(jiān)測java應用和診斷問題,因此,此類工具是java應用監(jiān)測的重要手段。也是作為java開發(fā)人員需要掌握的基本技能。

jps

查看java進程。

The jps command lists the instrumented Java HotSpot VMs on the target system. The command is limited to reporting information on JVMs for which it has the access permissions.

jinfo

(1)實時查看和調(diào)整JVM配置參數(shù)

The jinfo command prints Java configuration information for a specified Java process or core file or a remote debug server. The configuration information includes Java system properties and Java Virtual Machine (JVM) command-line flags.

(2)查看用法

jinfo -flag name PID 查看某個java進程的name屬性的值
jinfo -flag MaxHeapSize PID

jinfo -flag UseG1GC PID

(3)修改 參數(shù)只有被標記為manageable的flags可以被實時修改。

jinfo -flag [+|-] PID

jinfo -flag <name>=<value> PID

(4)查看曾經(jīng)賦過值的一些參數(shù)

jinfo -flags PID

jstat

(1)查看虛擬機性能統(tǒng)計信息

The jstat command displays performance statistics for an instrumented Java HotSpot VM. The target JVM is identified by its virtual machine identifier, or vmid option.

(2)查看類裝載信息 jstat -class PID 1000 10 查看某個java進程的類裝載信息,每1000毫秒輸出一次,共輸出10次。

(3)查看垃圾收集信息

jstat -gc PID 1000 10

jstack

(1)查看線程堆棧信息

The jstack command prints Java stack traces of Java threads for a specified Java process, core file, or remote debug server.

(2)用法

jstack PID

(4)排查死鎖案例

DeadLockDemo

//運行主類

public class DeadLockDemo

{

    public static void main(String[] args)

    {

        DeadLock d1=new DeadLock(true);

        DeadLock d2=new DeadLock(false);

        Thread t1=new Thread(d1);

        Thread t2=new Thread(d2);

        t1.start();

        t2.start();

    }

}

//定義鎖對象

class MyLock{

    public static Object obj1=new Object();

    public static Object obj2=new Object();

}

//死鎖代碼

class DeadLock implements Runnable{

    private boolean flag;

    DeadLock(boolean flag){

        this.flag=flag;

    }

    public void run() {

    if(flag) {

        while(true) {

            synchronized(MyLock.obj1) {

                System.out.println(Thread.currentThread().getName()+"----if獲得obj1鎖");

            synchronized(MyLock.obj2) {

                System.out.println(Thread.currentThread().getName()+"----if獲得obj2鎖");

            }

        }

    }

}

else {

    while(true){

        synchronized(MyLock.obj2) {

            System.out.println(Thread.currentThread().getName()+"----否則獲得obj2鎖");

        synchronized(MyLock.obj1) {

            System.out.println(Thread.currentThread().getName()+"----否則獲得obj1鎖");

        }

    }

}

}

}

}

運行結果

jstack分析

把打印信息拉到最后可以發(fā)現(xiàn)

jmap

(1)生成堆轉(zhuǎn)儲快照

The jmap command prints shared object memory maps or heap memory details of a specified process, core file, or remote debug server.

(2)打印出堆內(nèi)存相關信息

jmap -heap PID

jinfo -flag UsePSAdaptiveSurvivorSizePolicy 35352
-XX:SurvivorRatio=8

(3)dump出堆內(nèi)存相關信息

jmap -dump:format=b,file=heap.hprof PID

(4)要是在發(fā)生堆內(nèi)存溢出的時候,能自動dump出該文件就好了

一般在開發(fā)中,JVM參數(shù)可以加上下面兩句,這樣內(nèi)存溢出時,會自動dump出該文件。

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof。

設置堆內(nèi)存大小: -Xms20M -Xmx20M

啟動,然后訪問localhost:9090/heap,使得堆內(nèi)存溢出

(5)關于dump下來的文件

一般dump下來的文件可以結合工具來分析,這塊后面再說。

到此這篇關于JVM的常用命令匯總的文章就介紹到這了,更多相關JVM常用命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java如何使用Lombok更優(yōu)雅地編碼

    java如何使用Lombok更優(yōu)雅地編碼

    Lombok能通過注解的方式,在編譯時自動為屬性生成構造器、getter/setter、equals、hashcode、toString方法。這樣就省去了手動重建這些代碼的麻煩,使代碼看起來更簡潔些。下面我們來詳細學習下吧
    2019-06-06
  • Redis?command?timed?out兩種異常情況的解決方式

    Redis?command?timed?out兩種異常情況的解決方式

    Redis是我們開發(fā)中常用的數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于Redis?command?timed?out兩種異常情況的解決方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • java實現(xiàn)文件夾解壓和壓縮

    java實現(xiàn)文件夾解壓和壓縮

    這篇文章主要為大家詳細介紹了java實現(xiàn)文件夾解壓和壓縮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 最新評論

    密山市| 三穗县| 岳普湖县| 临漳县| 房产| 德州市| 三门峡市| 柳江县| 常州市| 余姚市| 易门县| 迁安市| 兴隆县| 阜城县| 望奎县| 靖江市| 柘城县| 襄汾县| 长兴县| 宁安市| 库伦旗| 广灵县| 镇巴县| 贡嘎县| 翁源县| 澄迈县| 中江县| 封丘县| 梁河县| 嵊泗县| 桃园市| 夏邑县| 内丘县| 湖南省| 本溪市| 桂平市| 莱阳市| 芷江| 南乐县| 澜沧| 柳河县|