惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
J
Java Code Geeks
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
B
Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
美团技术团队
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
N
Netflix TechBlog - Medium
C
Check Point Blog
Recent Announcements
Recent Announcements
博客园 - Franky
博客园 - 叶小钗
T
Tailwind CSS Blog

浮华生

Elasticsearch 检索性能优化 - 浮华生 舆情监控系统综述 - 浮华生 2024 半年度总结 - 浮华生 2023 年终总结 - 浮华生 异地机器组网方案 - 浮华生 Kubernetes 部署 Elasticsearch 和 Kibana - 浮华生 2022 年终总结 - 浮华生 RabbitMQ connection channel 的关系 - 浮华生 Kafka Java 客户端 Producer 原理分析 - 浮华生 RabbitMQ 和 Kafka 应用原理简单对比 - 浮华生 阿里云 OpenSearch 介绍 - 浮华生 Golang Array 和 Slice 区别 - 浮华生 Mac OS 下打造 golang nvim 编程环境之基础配置 - 浮华生 电商搜索技术总结 - 浮华生 电商搜索业务总结 - 浮华生 2021 年终总结 - 浮华生 Cypress 实践总结 - 浮华生 年终总结 - 浮华生 关于我 - 浮华生 使用 cucumber 进行行为驱动开发(BDD) - 浮华生 微服务应用集成 SpringCloud 步骤 - 浮华生 电商搜索数据同步方案 - 浮华生 通过一道数值转换题重温计算机补码 - 浮华生 macOS 系统推荐的一些软件 - 浮华生 DevOps 实施规划(持续更新) - 浮华生 rabbitmq 如何提高可靠性并保证消费端幂等 - 浮华生 AMQ Model总结 - 浮华生 结对编程 - 浮华生 RSocket 介绍 - 浮华生 面向对象的理解 - 浮华生
JVM 常用参数查看 - 浮华生
浮华生 · 2018-09-02 · via 浮华生

JVM 参数

  • 标准参数
  • -X 参数
  • -XX 参数

标准参数

1
2
3
4
5
6
7
8
-help
-server
-client
-version 
-showversion
-cp
-classpath
...

X 参数

1
2
3
-Xint:解释执行
-Xcomp:第一次使用就编译成本地代码(速度比慢)
-Xmixed:混合模式,JVM 自己决定是否编译成本地代码

例如:

java -Xint - version
----------------------
output:
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, interpreted mode)

XX 参数

Boolean类型
1
 -XX:[+-]<name> #表示启用或者禁用 name 属性

举例:

1
2
-XX:+UserConcMarkSweepGC #启用 CMS 垃圾收集器
-XX:+UserG1GC #启用了 G1 垃圾收集器
Key-Value 类型
1
-XX:<name>=<value> #表示 name 属性的值是 value

举例:

1
2
-XX:MaxGCPauseMillis=500 #最大停顿时间
-XX:GCTimeRatio=19 
-Xmx(最大内存) -Xms(最小内存)

-Xmx <=> -XX:MaxHeapSize -Xms <=> -XX:InitialHeapSize

JVM 运行时参数

1
2
3
4
5
-XX:+PrintFlagsInitial #查看初始值
-XX:+PrintFlagsFinal #查看最终值
-XX:+UnlockExperimentalVMOptions #解锁实验性参数
-XX:+UnlockDiagnosticVMOptions #解锁诊断参数
-XX:+PrintCommandLineFlags #打印命令行参数

结果中的 = 表示默认值; := 被用户修改后的 JVM 的值。

查看参数的指令

jps 查看 Java 进程

使用 jps -l命令查看进程号和具体的 Java 程序

jinfo 查看进程内的某个参数的值

1
2
jinfo -flag <name> pid
jinfo -flags <name> pid #打印非默认值

jstat 查看 JVM 统计信息

类加载、垃圾收集、JIT 编译

-class
-gc ...
-compiler
1
jstat -gc 32144 1000 10 #每隔1000ms打印一次,打印十次

-gc输出的结果

  • S0C S1C S0U S1U : S0 和 S1 的总量和使用量
  • EC EU : Eden 区总量与使用量
  • OC OU : Old 区总量与使用量
  • MC MU : Metaspace 区总量与使用量
  • CCSC CCSU : 压缩类空间总量与使用量
  • YGC YGCT :YoungGC 的次数与时间
  • FGC FGCT : FullGC 的次数与时间
  • GCT :总的 GC 时间