国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JVM調(diào)優(yōu)指令&參數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了JVM調(diào)優(yōu)指令&參數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

常用命令查找文檔站點(diǎn):https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

-XX:+PrintFlagsInitial

輸出所有參數(shù)的名稱和默認(rèn)值,默認(rèn)不包括Diagnostic和Experimental的參數(shù)。可以配合?-XX:+UnlockDiagnosticVMOptions-XX:UnlockExperimentalVMOptions使用

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

注意:這里列舉出來(lái)的所有參數(shù)值,大體分為兩類。一類是 “=” 的表示默認(rèn)值;一類是 “ := ” 的表示是被用戶或者JVM修改后的值。?

JPS 命令

查看使用格式:

jps -help
usage: jps [-help]
       jps [-q] [-mlvV] [<hostid>]

Definitions:
    <hostid>:      <hostname>[:<port>]

1、查看java進(jìn)程pid

$>  jps -q
28680
23789
23651

2、查看 main 方法的參數(shù)

特別注意,在嵌入式j(luò)vm上可能是null

$> jps -m
28715 Jps -m
23789 BossMain
23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log

3、查看Java進(jìn)程完整包名

# -l 輸出應(yīng)用程序main class的完整package名 或者 應(yīng)用程序的jar文件完整路徑名
$> jps -l
28729 sun.tools.jps.Jps
23789 com.asiainfo.aimc.bossbi.BossMain
23651 com.caucho.server.resin.Resin

4、查看傳遞給JVM的參數(shù)

$> jps -v
23789 BossMain
28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jdk15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m
23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl

Jinfo 命令?

? ?jinfo?是?JDK?自帶的命令,可以用來(lái)查看正在運(yùn)行的?java?應(yīng)用程序的擴(kuò)展參數(shù),包括Java System屬性和JVM命令行參數(shù);也可以動(dòng)態(tài)的修改正在運(yùn)行的?JVM?一些參數(shù)。當(dāng)系統(tǒng)崩潰時(shí),jinfo可以從core文件里面知道崩潰的Java應(yīng)用程序的配置信息?;菊Z(yǔ)法是:jinfo [ option ] pid

Option:

選項(xiàng) 選項(xiàng)說(shuō)明
no option 輸出全部的參數(shù)和系統(tǒng)屬性
-flag name 輸出對(duì)應(yīng)名稱的參數(shù)
-flag [+/-] name 開啟或者關(guān)閉對(duì)應(yīng)名稱的參數(shù),只有被標(biāo)記為 manageable 的參數(shù)才可以被動(dòng)態(tài)修改
-flag name=value 設(shè)定對(duì)應(yīng)名稱的參數(shù)
-flags 輸出全部的參數(shù)
-sysprops 輸出系統(tǒng)屬性

?1、jinfo -flags pid

#輸入
jinfo -flags 7663

#輸出
Attaching to process ID 7663, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.121-b13
Non-default VM flags: -XX:CICompilerCount=4 -XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4294967296 -XX:MaxNewSize=1431306240 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=89128960 -XX:OldSize=179306496 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC
Command line:  -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=49834:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8

2、jinfo -flag pid

其中,<name>?不包含上圖的前綴?-XX:?等,不是?jinfo -flag -XX:NewSize 7663,而是?jinfo -flag NewSize 7663,不包含?-XX:?。

#輸入
jinfo -flag NewSize 7663


#輸出
-XX:NewSize=89128960

3、jinfo -flag [+|-] pid

用于打開或關(guān)閉指定的參數(shù)

4、jinfo -sysprops pid

打印當(dāng)前java進(jìn)程中設(shè)定的系統(tǒng)環(huán)境參數(shù)

#輸入
jinfo -sysprops 7663

#輸出
Attaching to process ID 7663, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.121-b13
java.runtime.name = Java(TM) SE Runtime Environment
java.vm.version = 25.121-b13
sun.boot.library.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib
gopherProxySet = false
java.vendor.url = http://java.oracle.com/
java.vm.vendor = Oracle Corporation
path.separator = :
file.encoding.pkg = sun.io
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
sun.os.patch.level = unknown
sun.java.launcher = SUN_STANDARD
user.country = CN
user.dir = /Users/davis/workspace/intellij/cw-javaagent-demo
java.vm.specification.name = Java Virtual Machine Specification
java.runtime.version = 1.8.0_121-b13
java.awt.graphicsenv = sun.awt.CGraphicsEnvironment
os.arch = x86_64
java.endorsed.dirs = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/endorsed
line.separator =

java.io.tmpdir = /var/folders/5n/6g464jd97r13x39t5w69ybfr0000gn/T/
java.vm.specification.vendor = Oracle Corporation
os.name = Mac OS X
sun.jnu.encoding = UTF-8
java.library.path = /Users/davis/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 10.15.5
http.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
user.home = /Users/davis
user.timezone = Asia/Shanghai
java.awt.printerjob = sun.lwawt.macosx.CPrinterJob
file.encoding = UTF-8
java.specification.version = 1.8
user.name = davis
java.class.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/tools.jar:/Users/davis/workspace/intellij/cw-javaagent-demo/target/classes:/Users/davis/maven/net/sourceforge/jtds/jtds/1.2.6/jtds-1.2.6.jar:/Users/davis/maven/jstl/jstl/1.2/jstl-1.2.jar:/Users/davis/maven/taglibs/standard/1.1.2/standard-1.1.2.jar:/Users/davis/maven/org/mybatis/mybatis/3.2.8/mybatis-3.2.8.jar:/Users/davis/maven/org/mybatis/mybatis-spring/1.2.2/mybatis-spring-1.2.2.jar:/Users/davis/maven/redis/clients/jedis/2.5.2/jedis-2.5.2.jar:/Users/davis/maven/org/apache/commons/commons-pool2/2.0/commons-pool2-2.0.jar:/Users/davis/maven/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar:/Users/davis/maven/org/springframework/spring-aop/4.1.1.RELEASE/spring-aop-4.1.1.RELEASE.jar:/Users/davis/maven/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/davis/maven/org/springframework/spring-aspects/4.1.1.RELEASE/spring-aspects-4.1.1.RELEASE.jar:/Users/davis/maven/org/aspectj/aspectjweaver/1.8.2/aspectjweaver-1.8.2.jar:/Users/davis/maven/org/springframework/spring-beans/4.1.1.RELEASE/spring-beans-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-context/4.1.1.RELEASE/spring-context-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-context-support/4.1.1.RELEASE/spring-context-support-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-core/4.1.1.RELEASE/spring-core-4.1.1.RELEASE.jar:/Users/davis/maven/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/davis/maven/org/springframework/spring-expression/4.1.1.RELEASE/spring-expression-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-instrument/4.1.1.RELEASE/spring-instrument-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-instrument-tomcat/4.1.1.RELEASE/spring-instrument-tomcat-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-jdbc/4.1.1.RELEASE/spring-jdbc-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-jms/4.1.1.RELEASE/spring-jms-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-messaging/4.1.1.RELEASE/spring-messaging-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-orm/4.1.1.RELEASE/spring-orm-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-oxm/4.1.1.RELEASE/spring-oxm-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-test/4.1.1.RELEASE/spring-test-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-tx/4.1.1.RELEASE/spring-tx-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-web/4.1.1.RELEASE/spring-web-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-webmvc/4.1.1.RELEASE/spring-webmvc-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-webmvc-portlet/4.1.1.RELEASE/spring-webmvc-portlet-4.1.1.RELEASE.jar:/Users/davis/maven/org/springframework/spring-websocket/4.1.1.RELEASE/spring-websocket-4.1.1.RELEASE.jar:/Users/davis/maven/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar:/Users/davis/maven/commons-io/commons-io/2.2/commons-io-2.2.jar:/Users/davis/maven/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.jar:/Users/davis/maven/commons-pool/commons-pool/1.4/commons-pool-1.4.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar
java.vm.specification.version = 1.8
sun.arch.data.model = 64
sun.java.command = com.cw.tsb.jvm.JVMTest
java.home = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
user.language = zh
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.lwawt.macosx.LWCToolkit
java.vm.info = mixed mode
java.version = 1.8.0_121
java.ext.dirs = /Users/davis/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
sun.boot.class.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/classes
java.vendor = Oracle Corporation
file.separator = /
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeBig
sun.cpu.endian = little
socksNonProxyHosts = local|*.local|169.254/16|*.169.254/16
ftp.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
sun.cpu.isalist =

Jstack 命令?

Usage:
    jstack [-l] <pid>
        (to connect to running process)
    jstack -F [-m] [-l] <pid>
        (to connect to a hung process)
    jstack [-m] [-l] <executable> <core>
        (to connect to a core file)
Options:
    -F 強(qiáng)制打印線程棧信息,在jstack <pid>命令沒有響應(yīng)的時(shí)候添加該選項(xiàng)可以實(shí)現(xiàn)強(qiáng)制打印
    -m  (mix)混合模式,可以打印 Java 棧和本地方法棧
    -l  (long listing)長(zhǎng)列表模式. 額外打印關(guān)于鎖的信息

線程狀態(tài)轉(zhuǎn)移圖:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

1、狀態(tài)含義

知識(shí)拓展:怎樣了解你的線程在干嘛?

Java語(yǔ)言定義了6種線程池狀態(tài):

  • New:創(chuàng)建后尚未啟動(dòng)的線程處于這種狀態(tài),不會(huì)出現(xiàn)在Dump中。
  • RUNNABLE:包括Running和Ready。線程開啟start()方法,會(huì)進(jìn)入該狀態(tài),在虛擬機(jī)內(nèi)執(zhí)行的。
  • Waiting:無(wú)限的等待另一個(gè)線程的特定操作。
  • Timed Waiting:有時(shí)限的等待另一個(gè)線程的特定操作。
  • 阻塞(Blocked):在程序等待進(jìn)入同步區(qū)域的時(shí)候,線程將進(jìn)入這種狀態(tài),在等待監(jiān)視器鎖。
  • 結(jié)束(Terminated):已終止線程的線程狀態(tài),線程已經(jīng)結(jié)束執(zhí)行。

Dump文件的線程狀態(tài)一般其實(shí)就以下3種:

  • RUNNABLE,線程處于執(zhí)行中
  • BLOCKED,線程被阻塞
  • WAITING,線程正在等待

2、Monitor 監(jiān)視鎖

Monitor的工作原理圖如下:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

  • 線程想要獲取monitor,首先會(huì)進(jìn)入Entry Set隊(duì)列,它是Waiting Thread,線程狀態(tài)是Waiting for monitor entry。
  • 當(dāng)某個(gè)線程成功獲取對(duì)象的monitor后,進(jìn)入Owner區(qū)域,它就是Active Thread。
  • 如果線程調(diào)用了wait()方法,則會(huì)進(jìn)入Wait Set隊(duì)列,它會(huì)釋放monitor鎖,它也是Waiting Thread,線程狀態(tài)in Object.wait()
  • 如果其他線程調(diào)用 notify() / notifyAll() ,會(huì)喚醒Wait Set中的某個(gè)線程,該線程再次嘗試獲取monitor鎖,成功即進(jìn)入Owner區(qū)域。

3、Dump 文件分析關(guān)注重點(diǎn)

  • runnable,線程處于執(zhí)行中
  • deadlock,死鎖(重點(diǎn)關(guān)注
  • blocked,線程被阻塞 (重點(diǎn)關(guān)注
  • Parked,停止
  • locked,對(duì)象加鎖
  • waiting,線程正在等待
  • waiting to lock 等待上鎖
  • Object.wait(),對(duì)象等待中
  • waiting for monitor entry 等待獲取監(jiān)視器(重點(diǎn)關(guān)注
  • Waiting on condition,等待資源(重點(diǎn)關(guān)注),最常見的情況是線程在等待網(wǎng)絡(luò)的讀寫

Jmap 命令?

jmap(Java Virtual Machine Memory Map)是JDK提供的一個(gè)可以生成Java虛擬機(jī)的堆轉(zhuǎn)儲(chǔ)快照dump文件的命令行工具。除此以外,jmap命令還可以查看finalize執(zhí)行隊(duì)列、Java堆和方法區(qū)的詳細(xì)信息,比如空間使用率、當(dāng)前使用的什么垃圾回收器、分代情況等等。

命令語(yǔ)法:

jmap [options] pid

命令參數(shù)說(shuō)明:

  • option:jmap命令的可選參數(shù)。如果沒有指定這個(gè)參數(shù),jinfo命令會(huì)顯示Java虛擬機(jī)進(jìn)程的內(nèi)存映像信息,如下圖:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

  • pid:要打印配置信息的Java虛擬機(jī)的進(jìn)程ID。

????????想要要獲取運(yùn)行的Java虛擬機(jī)進(jìn)程的列表,可以使用ps命令(Linux系統(tǒng)中)或tasklist命令(Windows系統(tǒng)中),如果Java虛擬機(jī)進(jìn)程沒有在單獨(dú)的docker實(shí)例中運(yùn)行,可以使用jps命令。

?1、- help 查看堆信息

顯示Java堆的如下信息:

  • 被指定的垃圾回收算法的信息,包括垃圾回收算法的名稱和垃圾回收算法的詳細(xì)信息。
  • 堆的配置信息,可能是由命令行選項(xiàng)指定,或者由Java虛擬機(jī)根據(jù)服務(wù)器配置選擇的。
  • 堆的內(nèi)存空間使用信息,包括分代情況,每個(gè)代的總?cè)萘?、已使用?nèi)存、可使用內(nèi)存。如果某一代被繼續(xù)細(xì)分(例如,年輕代),則包含細(xì)分的空間的內(nèi)存使用信息。

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?2、- histo[:live] 查看堆對(duì)象統(tǒng)計(jì)信息

????????顯示Java堆中對(duì)象的統(tǒng)計(jì)信息,包括:對(duì)象數(shù)量、占用內(nèi)存大小(單位:字節(jié))和類的完全限定名。比如:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?????????要獲得某個(gè)對(duì)象的大小,可以將其總大小除以該對(duì)象類型的數(shù)量。如果指定了live參數(shù),則只計(jì)算活動(dòng)的對(duì)象。比如:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?3、- clstats 查看類加載器統(tǒng)計(jì)信息

顯示Java堆中元空間的類加載器的統(tǒng)計(jì)信息,包括:

  • class_loader:當(dāng)Java虛擬機(jī)運(yùn)行時(shí),類加載器對(duì)象的地址
  • classes:已加載類的數(shù)量
  • bytes:該類加載器加載的所有類的元數(shù)據(jù)所占的字節(jié)數(shù)
  • parent_loader:父類加載器對(duì)象的地址,如果沒有顯示null。
  • alive:是否存活的標(biāo)識(shí),表示類加載器對(duì)象是否將被垃圾回收。
  • type:該類加載器的類名。

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

4、- finalizerinfo 查看等待線程

?顯示在F-Queue中等待Finalizer線程執(zhí)行finalize方法的對(duì)象。比如:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?5、- dump:[live,]format=b,file= 生成dump

生成Java虛擬機(jī)的堆轉(zhuǎn)儲(chǔ)快照dump文件。具體說(shuō)明如下:

  • live參數(shù)是可選的,如果指定,則只轉(zhuǎn)儲(chǔ)堆中的活動(dòng)對(duì)象;如果沒有指定,則轉(zhuǎn)儲(chǔ)堆中的所有對(duì)象。
  • format=b表示以hprof二進(jìn)制格式轉(zhuǎn)儲(chǔ)Java堆的內(nèi)存。
  • file=<filename>用于指定快照dump文件的文件名。

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?6、-F 強(qiáng)制模式

強(qiáng)制模式。如果指定的pid沒有響應(yīng),可以配合-dump-histo一起使用。此模式下,不支持live參數(shù)。比如:

JVM調(diào)優(yōu)指令&參數(shù),JVM專欄,jvm,jstat,jstack,jmap,jinfo,jps

?Jstat 命令

命令用法:jstat [-命令選項(xiàng)] [vmid] [間隔時(shí)間/毫秒] [查詢次數(shù)]

C:\Users\Administrator>jstat -help
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
 
Definitions:
  <option>      An option reported by the -options option
  <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                     <lvmid>[@<hostname>[:<port>]]
                Where <lvmid> is the local vm identifier for the target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> is the port number for the rmiregistry on the
                target host. See the jvmstat documentation for a more complete
                description of the Virtual Machine Identifier.
  <lines>       Number of samples between header lines.
  <interval>    Sampling interval. The following forms are allowed:
                    <n>["ms"|"s"]
                Where <n> is an integer and the suffix specifies the units as
                milliseconds("ms") or seconds("s"). The default units are "ms".
  <count>       Number of samples to take before terminating.
  -J<flag>      Pass <flag> directly to the runtime system.
  • option:參數(shù)選項(xiàng)
  • -t:可以在打印的列加上Timestamp列,用于顯示系統(tǒng)運(yùn)行的時(shí)間
  • -h:可以在周期性數(shù)據(jù)輸出的時(shí)候,指定輸出多少行以后輸出一次表頭
  • vmid:Virtual Machine ID( 進(jìn)程的 pid)
  • interval:執(zhí)行每次的間隔時(shí)間,單位為毫秒
  • count:用于指定輸出多少次記錄,缺省則會(huì)一直打印

option 可以從下面參數(shù)中選擇

jstat -options文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-690861.html

  • -class 用于查看類加載情況的統(tǒng)計(jì)
  • -compiler 用于查看HotSpot中即時(shí)編譯器編譯情況的統(tǒng)計(jì)
  • -gc 用于查看JVM中堆的垃圾收集情況的統(tǒng)計(jì)
  • -gccapacity 用于查看新生代、老生代及持久代的存儲(chǔ)容量情況
  • -gcmetacapacity 顯示metaspace的大小
  • -gcnew 用于查看新生代垃圾收集的情況
  • -gcnewcapacity 用于查看新生代存儲(chǔ)容量的情況
  • -gcold 用于查看老生代及持久代垃圾收集的情況
  • -gcoldcapacity 用于查看老生代的容量
  • -gcutil 顯示垃圾收集信息
  • -gccause 顯示垃圾回收的相關(guān)信息(通-gcutil),同時(shí)顯示最后一次僅當(dāng)前正在發(fā)生的垃圾收集的原因
  • -printcompilation 輸出JIT編譯的方法信息

1、-class 類加載統(tǒng)計(jì)

[root@hadoop ~]# jps #先通過(guò)jps獲取到j(luò)ava進(jìn)程號(hào)(這里是一個(gè)zookeeper進(jìn)程)
3346 QuorumPeerMain
7063 Jps
[root@hadoop ~]# jstat -class 3346 #統(tǒng)計(jì)JVM中加載的類的數(shù)量與size
Loaded  Bytes  Unloaded  Bytes     Time  
  1527  2842.7        0     0.0       1.02
  • Loaded:加載類的數(shù)量
  • Bytes:加載類的size,單位為Byte
  • Unloaded:卸載類的數(shù)目
  • Bytes:卸載類的size,單位為Byte
  • Time:加載與卸載類花費(fèi)的時(shí)間

2、-compiler 編譯統(tǒng)計(jì)

[root@hadoop ~]# jstat -compiler 3346 #用于查看HotSpot中即時(shí)編譯器編譯情況的統(tǒng)計(jì)
Compiled Failed Invalid   Time   FailedType FailedMethod
     404      0       0     0.19          0 
  • Compiled:編譯任務(wù)執(zhí)行數(shù)量
  • Failed:編譯任務(wù)執(zhí)行失敗數(shù)量
  • Invalid:編譯任務(wù)執(zhí)行失效數(shù)量
  • Time:編譯任務(wù)消耗時(shí)間
  • FailedType:最后一個(gè)編譯失敗任務(wù)的類型
  • FailedMethod:最后一個(gè)編譯失敗任務(wù)所在的類及方法

3、-gc 垃圾回收統(tǒng)計(jì)

[root@hadoop ~]# jstat -gc 3346 #用于查看JVM中堆的垃圾收集情況的統(tǒng)計(jì)
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT  
128.0  128.0   0.0   128.0   1024.0   919.8    15104.0     2042.4   8448.0 8130.4 1024.0 996.0       7    0.019   0      0.000    0.019
  • S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S0U:年輕代中第一個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))
  • S1U:年輕代中第二個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))
  • EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
  • EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
  • OC:Old代的容量 (字節(jié))
  • OU:Old代目前已使用空間 (字節(jié))
  • MC:metaspace(元空間)的容量 (字節(jié))
  • MU:metaspace(元空間)目前已使用空間 (字節(jié))
  • CCSC:當(dāng)前壓縮類空間的容量 (字節(jié))
  • CCSU:當(dāng)前壓縮類空間目前已使用空間 (字節(jié))
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • YGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c所用時(shí)間(s)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)
  • FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)
  • GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

4、-gccapacity 堆內(nèi)存統(tǒng)計(jì)

[root@hadoop ~]# jstat -gccapacity 3346 #用于查看新生代、老生代及持久代的存儲(chǔ)容量情況
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
[root@hadoop ~]# jstat -gccapacity -h5 3346 1000 #-h5:每5行顯示一次表頭 1000:每1秒鐘顯示一次,單位為毫秒
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  1280.0  83264.0   1280.0  128.0  128.0   1024.0    15104.0   166592.0    15104.0    15104.0      0.0 1056768.0   8448.0      0.0 1048576.0   1024.0      7     0
  • NGCMN:年輕代(young)中初始化(最小)的大小(字節(jié))
  • NGCMX:年輕代(young)的最大容量 (字節(jié))
  • NGC:年輕代(young)中當(dāng)前的容量 (字節(jié))
  • S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
  • OGCMN:old代中初始化(最小)的大小 (字節(jié))
  • OGCMX:old代的最大容量(字節(jié))
  • OGC:old代當(dāng)前新生成的容量 (字節(jié))
  • OC:Old代的容量 (字節(jié))
  • MCMN:metaspace(元空間)中初始化(最小)的大小 (字節(jié))
  • MCMX:metaspace(元空間)的最大容量 (字節(jié))
  • MC:metaspace(元空間)當(dāng)前新生成的容量 (字節(jié))
  • CCSMN:最小壓縮類空間大小
  • CCSMX:最大壓縮類空間大小
  • CCSC:當(dāng)前壓縮類空間大小
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)

5、-gcmetacapacity 元數(shù)據(jù)空間統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcmetacapacity 3346 #顯示元數(shù)據(jù)空間的大小
MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT
0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 8 0 0.000 0.020
  • MCMN:最小元數(shù)據(jù)容量
  • MCMX:最大元數(shù)據(jù)容量
  • MC:當(dāng)前元數(shù)據(jù)空間大小
  • CCSMN:最小壓縮類空間大小
  • CCSMX:最大壓縮類空間大小
  • CCSC:當(dāng)前壓縮類空間大小
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)
  • FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)
  • GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

6、-gcnew 新生代垃圾回收統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcnew 3346 #用于查看新生代垃圾收集的情況
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
128.0 128.0 67.8 0.0 1 15 64.0 1024.0 362.2 8 0.020  
  • S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S0U:年輕代中第一個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))
  • S1U:年輕代中第二個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))
  • TT:持有次數(shù)限制
  • MTT:最大持有次數(shù)限制
  • DSS:期望的幸存區(qū)大小
  • EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
  • EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • YGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c所用時(shí)間(s)

7、-gcnewcapacity 新生代內(nèi)存統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcnewcapacity 3346 #用于查看新生代存儲(chǔ)容量的情況
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
1280.0 83264.0 1280.0 8320.0 128.0 8320.0 128.0 66624.0 1024.0 8 0
  • NGCMN:年輕代(young)中初始化(最小)的大小(字節(jié))
  • NGCMX:年輕代(young)的最大容量 (字節(jié))
  • NGC:年輕代(young)中當(dāng)前的容量 (字節(jié))
  • S0CMX:年輕代中第一個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))
  • S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • S1CMX:年輕代中第二個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))
  • S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (字節(jié))
  • ECMX:年輕代中Eden(伊甸園)的最大容量 (字節(jié))
  • EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)

8、-gcold 老年代垃圾回收統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcold 3346 #用于查看老年代及持久代垃圾收集的情況
MC MU CCSC CCSU OC OU YGC FGC FGCT GCT
8448.0 8227.5 1024.0 1003.7 15104.0 2102.2 8 0 0.000 0.020 
  • MC:metaspace(元空間)的容量 (字節(jié))
  • MU:metaspace(元空間)目前已使用空間 (字節(jié))
  • CCSC:壓縮類空間大小
  • CCSU:壓縮類空間使用大小
  • OC:Old代的容量 (字節(jié))
  • OU:Old代目前已使用空間 (字節(jié))
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)
  • FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)
  • GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

9、-gcoldcapacity 老年代內(nèi)存統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcoldcapacity 3346 #用于查看老年代的容量
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
15104.0 166592.0 15104.0 15104.0 8 0 0.000 0.020
  • OGCMN:old代中初始化(最小)的大小 (字節(jié))
  • OGCMX:old代的最大容量(字節(jié))
  • OGC:old代當(dāng)前新生成的容量 (字節(jié))
  • OC:Old代的容量 (字節(jié))
  • YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)
  • FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)
  • GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

10、-gcutil 垃圾回收統(tǒng)計(jì)

[root@hadoop ~]# jstat -gcutil 3346 #顯示垃圾收集信息
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
52.97 0.00 42.10 13.92 97.39 98.02 8 0.020 0 0.000 0.020 
  • S0:年輕代中第一個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比
  • S1:年輕代中第二個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比
  • E:年輕代中Eden(伊甸園)已使用的占當(dāng)前容量百分比
  • O:old代已使用的占當(dāng)前容量百分比
  • M:元數(shù)據(jù)區(qū)已使用的占當(dāng)前容量百分比
  • CCS:壓縮類空間已使用的占當(dāng)前容量百分比
  • YGC :從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)
  • YGCT :從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c所用時(shí)間(s)
  • FGC :從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)
  • FGCT :從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)
  • GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

11、-gccause

[root@hadoop ~]# jstat -gccause 3346 #顯示垃圾回收的相關(guān)信息(通-gcutil),同時(shí)顯示最后一次或當(dāng)前正在發(fā)生的垃圾回收的誘因
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC
52.97 0.00 46.09 13.92 97.39 98.02 8 0.020 0 0.000 0.020 Allocation Failure No GC
  • LGCC:最后一次GC原因
  • GCC:當(dāng)前GC原因(No GC 為當(dāng)前沒有執(zhí)行GC)

12、-printcompilation JVM編譯方法統(tǒng)計(jì)

[root@hadoop ~]# jstat -printcompilation 3346 #輸出JIT編譯的方法信息
Compiled Size Type Method
421 60 1 sun/nio/ch/Util$2 clear
  • Compiled:編譯任務(wù)的數(shù)目
  • Size:方法生成的字節(jié)碼的大小
  • Type:編譯類型
  • Method:類名和方法名用來(lái)標(biāo)識(shí)編譯的方法。類名使用/做為一個(gè)命名空間分隔符。方法名是給定類中的方法。上述格式是由-XX:+PrintComplation選項(xiàng)進(jìn)行設(shè)置的

到了這里,關(guān)于JVM調(diào)優(yōu)指令&參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java可執(zhí)行命令】(十七)JVM運(yùn)行時(shí)信息動(dòng)態(tài)維護(hù)工具 jinfo:一個(gè)維護(hù) JVM 相關(guān)的配置參數(shù)和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    【Java可執(zhí)行命令】(十七)JVM運(yùn)行時(shí)信息動(dòng)態(tài)維護(hù)工具 jinfo:一個(gè)維護(hù) JVM 相關(guān)的配置參數(shù)和系統(tǒng)屬性的工具,輔助故障排除、診斷和優(yōu)化 ~

    jinfo 是 Java Development Kit (JDK) 自帶的一款命令行工具。它旨在為用戶提供進(jìn)程的運(yùn)行時(shí)信息,特別是與 Java 虛擬機(jī) (JVM) 相關(guān)的配置和系統(tǒng)屬性。 jinfo 使得用戶可以輕松地查看和修改正在運(yùn)行的 Java 進(jìn)程的參數(shù),以便進(jìn)行 故障排除、診斷和優(yōu)化 。 jinfo 允許用戶動(dòng)態(tài)查詢和修改

    2024年02月13日
    瀏覽(32)
  • JVM 8 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    這篇文章將詳細(xì)介紹如何進(jìn)行JVM 8調(diào)優(yōu),包括JVM 8調(diào)優(yōu)參數(shù)及其應(yīng)用。此外,我將提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)結(jié)合JVM啟動(dòng)參數(shù)和Java代碼。 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長(zhǎng)之路,等經(jīng)驗(yàn)分享 JVM調(diào)優(yōu)是指通過(guò)調(diào)整Java虛擬

    2024年01月21日
    瀏覽(23)
  • JVM 17 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    在這篇文章中,我會(huì)詳細(xì)介紹JVM調(diào)優(yōu)的概念、重要性和具體的JVM調(diào)優(yōu)參數(shù)。此外,我將提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)包含JVM調(diào)優(yōu)參數(shù)和相應(yīng)的Java代碼。 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長(zhǎng)之路,等經(jīng)驗(yàn)分享 JVM調(diào)優(yōu)是調(diào)整

    2024年02月02日
    瀏覽(31)
  • JVM 11 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    JVM 11的優(yōu)化指南:如何進(jìn)行JVM調(diào)優(yōu),以及JVM調(diào)優(yōu)參數(shù)有哪些”這篇文章將包含JVM 11調(diào)優(yōu)的核心概念、重要性、調(diào)優(yōu)參數(shù),并提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)結(jié)合JVM調(diào)優(yōu)參數(shù)和Java代碼 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長(zhǎng)之路,

    2024年01月16日
    瀏覽(15)
  • JVM 21 的調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    聊聊關(guān)于JVM 21的優(yōu)化指南。這篇文章將會(huì)深入探討如何進(jìn)行JVM調(diào)優(yōu),介紹一些關(guān)鍵的JVM調(diào)優(yōu)參數(shù),并提供12個(gè)實(shí)用的代碼示例。由于篇幅較長(zhǎng),我會(huì)分幾個(gè)部分來(lái)詳細(xì)講解,之前寫的也有33篇系列教程JVM調(diào)優(yōu)實(shí)戰(zhàn)打擊也可以去圍觀。 JVM(Java虛擬機(jī))調(diào)優(yōu)是一個(gè)復(fù)雜但重要的任

    2024年01月24日
    瀏覽(23)
  • 【JVM】JVM 調(diào)優(yōu)的參數(shù)都有哪些?

    【JVM】JVM 調(diào)優(yōu)的參數(shù)都有哪些?

    設(shè)置堆的初始大小和最大大小,為了防止垃圾收集器在初始大小、最大大小之間收縮堆而產(chǎn)生額外的時(shí)間, 通常把最大、初始大小設(shè)置為相同的值 。 堆空間設(shè)置多少合適? 最大大小的默認(rèn)值是物理內(nèi)存的1/4,初始大小是物理內(nèi)存的1/64 堆太小,可能會(huì)頻繁的導(dǎo)致年輕代和老

    2024年02月12日
    瀏覽(27)
  • 【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析

    【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析

    JVM系列整體欄目 內(nèi)容 鏈接地址 【一】初識(shí)虛擬機(jī)與java虛擬機(jī) https://blog.csdn.net/zhenghuishengq/article/details/129544460 【二】jvm的類加載子系統(tǒng)以及jclasslib的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/129610963 【三】運(yùn)行時(shí)私有區(qū)域之虛擬機(jī)棧、程序計(jì)數(shù)器、本地方法棧 https

    2024年02月06日
    瀏覽(30)
  • 【JVM的相關(guān)參數(shù)和調(diào)優(yōu)】

    【JVM的相關(guān)參數(shù)和調(diào)優(yōu)】

    這類此參數(shù)在jdk的各個(gè)版本之間很少會(huì)變化,基本不改變 java -version,查看當(dāng)前電腦上的jdk的版本信息 java -help,查看java命令的各種選項(xiàng)和參數(shù) java -showversion,相當(dāng)于上述兩者結(jié)合 4. jps,查看后臺(tái)運(yùn)行的 java 進(jìn)程 Test 的進(jìn)程 id 為 29636 5. jinfo,通過(guò)進(jìn)程 id 查看正在運(yùn)行的 jav

    2024年01月17日
    瀏覽(37)
  • JVM——配置常用參數(shù),GC調(diào)優(yōu)策略

    JVM——配置常用參數(shù),GC調(diào)優(yōu)策略

    Java內(nèi)存區(qū)域常見配置參數(shù)概覽 堆參數(shù); 回收器參數(shù); 項(xiàng)目中常用配置; 常用組合; Java內(nèi)存區(qū)域常見配置參數(shù)概覽 堆參數(shù) 回收器參數(shù) 如上表所示,目前 主要有串行、并行和并發(fā)三種 ,對(duì)于大內(nèi)存的應(yīng)用而言,串行的性能太低,因此使用到的主要是并行和并發(fā)兩種。并行

    2024年02月12日
    瀏覽(24)
  • 【jvm】jinfo使用

    【jvm】jinfo使用

    jinfo介紹 jinfo?是一個(gè)命令行工具,用于查看和修改 Java 虛擬機(jī)(JVM)的配置參數(shù)。它通常用于調(diào)試和性能調(diào)優(yōu)。 使用 jinfo?命令,你可以查看當(dāng)前 JVM 的配置參數(shù),包括堆大小、線程數(shù)、垃圾回收器類型等。此外,你還可以使用 jinfo 命令來(lái)修改 JVM 的配置參數(shù),例如增加堆大

    2024年03月22日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包