为什么要进行JVM优化?

本篇博文基于jdk1.8来讲解。

JVM的参数

标准参数比较稳定,基本上各个不同的jdk版本都会支持。

-X参数是非标参数,各个版本不同,可能用着用着就没了。

-XX参数也属于非标参数,用于JVM调优和debug调试,使用率比较高。

标准参数

jvm的标准参数,一般都是很稳定的,在未来的jvm版本中不会改变。

可以通过 java -help打印出来所有的标准参数:

实战:查看jvm版本

实战:通过-D设置系统属性参数

-server与-client参数

对于64位操作系统,jvm默认是server模式,手动指定为client模式不会生效:

一般情况下,都是使用的server模式。

-X非标参数

JVM的-X参数是非标准参数,在不同版本的JVM中,参数可能会有所不同,可以通过 java -X查看所有非标准参数

-Xint、-Xcomp、-Xmixed

-Xint是解释模式,代码会逐行执行所有字节码,会降低运行速度,至少低10倍;(编译快,运行慢。)

-Xcomp是编译模式,jvm在第一次使用时会将所有的字节码编译成本地代码;(编译慢,运行快。)

-Xmixed是混合模式,也是jvm默认也是推荐使用的模式。混合使用解释和编译模式,由jvm自己决定。

-XX非标参数

-Xms和-Xmx参数

尽量将这两个参数的值设置成一样的,因为在运行过程中弹性扩容或减小容量都会带来性能损耗。

查看JVM的运行参数

运行java命令时打印出运行参数

=表示是默认值未曾修改;

:=表示值已经被修改过。

查看正在运行的JVM参数

查看java进程的两种方式:

①通过ps -ef|grep tomcat Linux命令来查看;

②通过jps命令查看所有java进程。

5212是Tomcat进程;

5246是jps本身的进程ID。

通过jps -l命令可以查看完整的包名:

通过 jinfo -flags 5212查看完整jvm参数信息:

可以通过字节转换成兆M来查看MaxHeapSize最大堆内存为466M:

查看某一个参数的值,使用如下命令:

JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息相关推荐

  1. JVM 调优实战--JVM字节码

    目录 通过javap命令查看class文件的字节码内容 常量池 ​描述符 字段描述符 方法描述符 解读方法字节码 图解 研究i++与++i的不同 查看字节码 对比 分析字符串拼接孰优孰劣 小结 通过j ...

  2. 纯手写2022年最新JVM调优实战手册,看完让你精通JVM调优

    很多程序员不重视 JVM 内存调优,写出来的代码经常出现 OOM 等内存问题.而且,面试求职者中,很多求职者一旦遇到JVM 或者 JVM 调优方面的问题,往往不知如何回答,才能充分展现自己的能力. j ...

  3. JVM调优实战:to-space exhausted Evacuation Failure

    一次线上dubbo问题的定位,进行JVM调优实战. 问题 线上dubbo接口provider抛出异常: org.apache.dubbo.rpc.RpcException: Failfast invo ...

  4. JVM调优系列--Java命令选项(参数)--大全/详解/常用

    原文网址:JVM调优系列--Java命令选项(参数)--大全/详解/常用_IT利刃出鞘的博客-CSDN博客 简介 说明        本文介绍Java的java命令用法,包括:常用用法.选项大全. J ...

  5. 七、JVM调优实战——基本命令使用

    一.JVM类加载机制--自定义类加载器 二.JVM--对象内存分配机制 三.JVM内存模型 四.JVM垃圾收集算法和垃圾收集器 五.CMS垃圾回收器--三色标记算法 六.G1垃圾收集器 七.JVM调优 ...

  6. 带你感受一次JVM调优实战

    本文分成两部分,先了解理论,然后再进行实战. 理论篇 1.1 调优目标 JVM调优的两大目标是: 提高应用程序的性能和吞吐量: 通过优化JVM的垃圾回收机制.调整线程池大小和优化代码,可以提高应用程序 ...

  7. JVM从入门到精通(九):JVM调优实战 - arthas 的使用

    Arthas 文档 https://github.com/alibaba/arthas/blob/master/README_CN.md 运行起来我们的java程序 启动 arthas 的 jar 文 ...

  8. 【JVM调优】JVM内存管理调优浅谈

    什么是JVM Java Virtual Machine,Java虚拟机 Java虚拟机有自己完善的硬件架构,如处理器.堆栈等,还具有相应的指令系统. Java虚拟机本质上就是一个程序,当它在命令行上启 ...

  9. 【JVM调优】JVM的运行参数

    在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能高效的运行,绝大部分的参数保持默认即可 三种参数类型 jvm的参数类型分为三类,分别是 * 标准参数* -help* -versio ...

最新文章

  1. 干货丨八大基础概念带你入门机器学习!
  2. ORA-14452的出现原因解析及解决方法
  3. win8中离线安装net framework 3.5
  4. 【python】队列——用顺序表实现队列操作
  5. Android深入透析之常用设计模式经验谈
  6. COMP9313 2018s2 Project 3
  7. 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
  8. 网页java在div输出内容_JS实现读取xml内容并输出到div中的方法示例
  9. PowerDesigner15使用时的十五个问题
  10. 五邑大学计算机组成原理试卷,2017年五邑大学信息工程学院807微机原理与应用[专业硕士]之计算机组成原理考研强化模拟题...
  11. 圆盘(抽奖)自定义View
  12. 史上最简单MySQL教程详解(基础篇)之SQL语句以及预留关键字介绍
  13. VS2008下改变项目的默认属性
  14. 每天一个linux命令(60):scp命令
  15. main函数执行前后发生了什么
  16. python单循环_「单循环赛」单循环赛制 - seo实验室
  17. go语言实现家庭收支记账本
  18. Crazy Kids
  19. 5 款程序员必备的 Chrome 插件!
  20. cesium 绘制轨迹

热门文章

  1. 【论文解读】NLP重铸篇之Word2vec
  2. 【面试必备】通俗易懂的XGBoost、Transformer、BERT、水波网络原理解析 | 学习小组...
  3. 安装Jenkins及配置自由风格自动打包部署
  4. 一个端到端模型GraphDR实现多样化的召回
  5. 因为世界杯!我们为你承包了整个网易~
  6. java-集合做成逗号分隔的字符串-类似mkstring
  7. 小程序入门系列之 tabBar
  8. BITPOS key bit [start] [end]
  9. 关于MySQL查询优化 の 30条忠告
  10. next.js 简单使用