【JVM的相关参数和调优】

文章目录

  • JVM 调优的参数类型
    • 一、标配参数
    • 二、X参数
    • 三、XX参数
  • JVM 调优的常用参数


JVM 调优的参数类型

一、标配参数

这类此参数在jdk的各个版本之间很少会变化,基本不改变

  1. java -version,查看当前电脑上的jdk的版本信息

在这里插入图片描述

  1. java -help,查看java命令的各种选项和参数

在这里插入图片描述

  1. java -showversion,相当于上述两者结合

在这里插入图片描述
4. jps,查看后台运行的 java 进程

public class Test {
    public static void main(String[] args) throws InterruptedException {
    	// 让该程序一致在后台
        Thread.sleep(Integer.MAX_VALUE);
    }
}

在这里插入图片描述
Test 的进程 id 为 29636

5. jinfo,通过进程 id 查看正在运行的 java 程序的参数信息

jinfo -flag 具体参数(XX参数) java进程编号(-flag,是一个进程号同时指定要查看的一个参数)
在这里插入图片描述
jinfo -flags java进程编号(-flags,是一个进程号所有的参数)
在这里插入图片描述


二、X参数

  1. java -Xint -vesion,解释执行模式

解释执行命令会告诉java虚拟机使用解释执行模式来执行程序。在解释执行模式下,Java程序的代码将逐行被解释器翻译成机器指令并执行。这种模式通常会导致程序执行速度较慢,但它可以在不同的平台上运行代码,因为不需要事先将代码编译成机器代码。

  1. java -Xcomp -version,第一次使用就编译成本地代码

编译执行命令会告诉java虚拟机在第一次执行程序时将代码编译成本地机器代码。这种模式下,Java程序的代码会被即时编译器翻译成机器指令,并保存下来以备下次执行使用。这样,在后续执行时,程序的执行速度会比解释执行模式下更快,因为代码已经被编译成机器代码。

  1. java - Xmixed -version,混合模式(JVM默认采用的模式)

混合模式命令会告诉java虚拟机在运行时根据程序的运行情况来选择解释执行或即时编译执行。在混合模式下,虚拟机会根据代码的热度来判断是否将其编译成机器代码。热度通常是通过代码的执行频率衡量的。因此,混合模式可以充分利用即时编译的性能优势,同时又能适应代码的动态性。

在这里插入图片描述


三、XX参数

1. Boolean 类型
公式:–XX:+或-某个属性(+表示开启,-表示关闭)
例如:-XX:+PrintGCDetails

2. K/V键值对类型

公式:-XX:某个Key=Value
例如:
-XX:MetaspaceSize=128m
-XX:MaxTenuringThreshold=15

K/V 类型中常常会有许多的简写形式
如:-Xms 等价于 -XX:InitialHeapSize=,. -Xmx 等价于 -XX:MaxHeapSize=


JVM 调优的常用参数

1. -Xms 等价于 -XX:InitialHeapSize=,初始大小内存,默认为物理内存的 1/ 64

2. -Xmx 等价于 -XX:MaxHeapSize=,最大分配内存,默认为物理内存的1 / 4

3. -Xss 等价于 -XX:ThreadStackSize=,设置单个线程栈的大小,一般默认为 512K~1024K(具体跟JVM所在的平台有关)

在这里插入图片描述

Window下 ThreadStackSize=0, 意思是使用的是默认值

4. -Xmn,设置年轻代的大小(只有简写,没有全称)

5. -XX:MetaspaceSize,设置元空间大小(元空间并不在虚拟机中,而是使用本地内存,因此会受本地内存大小的限制,OOM异常中就有java.lang.OutOfMemoryError: Metaspace)

6. -XX:+PrintGCDetails,输出GC收集日志的详细信息

在这里插入图片描述

GC 和 Full GC
在这里插入图片描述

7. -XX:SurvivorRatio,设置Survivo所占的比例,但总的新生代大小不变
Eden:S0:s1 = 8 : 1 : 1,即默认-XX:SurvivorRatio=8
Eden:S0:s1 = 4 : 1 : 1,即设置-XX:SurvivorRatio=4

8. -XX:NewRatio,配置新生代和老年代的比例
默认:-XX:NewRatio=2,新生代:老年代=1:2,新生代占整个堆的 1/3
假如:-XX:NewRatio=4,新生代:老年代=1:4,新生代占整个堆的 1/5

9. -XX:MaxTenuringThreshold,设置年轻代对象的最大年龄(即在Survivor中的复制轮数),超过这个次数要么进入老年代要么回收,范围[0, 15]

默认值为 15

在这里插入图片描述

10. -XX:+PrintFlagsInitial(查看 JVM 的默认配置,即 XX:K/V) 和 -XX:+PrintFlagsFinal(查看JVM当前的配置)

K = V,没有被修改过
K := V,被修改过

在这里插入图片描述

12. -XX:+PrintCommandLineFlags -version(查看默认的垃圾回收器的方式)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/315920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阴盘奇门八字排盘马星位置计算方法php代码

如下位置,马星的四个位置。 计算方法: 1。先根据出生年月日,计算得八字四柱。比如 2024年01月09日,四柱为 其中时柱地支为“申” 2。然后根据以下对应的数组,来找到id号,即马星位置。 根据下表来找到&am…

开机自启动android app

Android App开机自启动_android 开机自启动-CSDN博客 注意权限问题: 第二种实现方式:系统桌面应用 问:android的系统桌面应用启动是什么: 答: Android 系统桌面应用是指用户在设备主屏幕上看到的默认启动界面&…

What does `HandlerInterceptor` do?

HandlerInterceptor 是 SpringMVC 中的一个接口&#xff0c;在SpringMVC应用中它提供了一种实现应用级拦截器的机制。 第1步&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web<…

利用 Azure Data Bricks的免费资源学习云上大数据

在这个数据驱动的时代&#xff0c;大数据和云计算已成为推动技术创新和商业智能的关键因素。Azure Databricks&#xff0c;作为一个先进的云平台&#xff0c;为那些渴望深入了解和掌握这些技术的人们提供了一个理想的学习环境。我们这里将利用 Azure Databricks 的免费资源&…

C语言进阶指南(22)——文件管理函数

欢迎来到博主的专栏——C语言进阶指南 博主id&#xff1a;代码小豪 文章目录 一、文件输入输出函数fwritefread 二、文件定位函数文件位置fseekftellrewind 三、文件缓冲区fflush 一、文件输入输出函数 这些函数用于文件流&#xff0c;主要功能是将一连串的数据输出或输入&am…

python24.1.13for循环

对列表、字典、字符串等进行迭代 range

关系型数据库和MySQL概述

关系型数据库概述 数据持久化 - 将数据保存到能够长久保存数据的存储介质中,在掉电的情况下数据也不会丢失。数据库发展史 - 网状数据库、层次数据库、关系数据库、NoSQL 数据库、NewSQL 数据库。1970年,IBM的研究员E.F.Codd在_Communication of the ACM_上发表了名为_A Rela…

可盐可甜的红色马甲背心

膨体棉腈面料不易皱&#xff0c;搭配阿兰花菱形镂空设计 真的绝绝子&#xff0c;红色吸睛又美观 随便搭配一件衬衫去穿&#xff0c;自带文艺气息 氛围感直接拉满 出街拍照很出片&#xff0c;时髦又气质 女孩子的甜美&#xff0c;温柔等都可以突显 有喜欢的可以尝试一下哟…

Java课程设计团队博客 —— 基于网页的时间管理系统

博客目录 1.项目简介2.项目采用的技术3.功能需求分析4.项目亮点5.主要功能截图6.Git地址7.总结 Java团队博客分工 姓名职务负责模块个人博客孙岚组长 资源文件路径和tomcat服务器的相关配置。 前端的页面设计与逻辑实现的代码编写。 Servlet前后端数据交互的编写。 用户登录和…

数据结构实战:变位词侦测

文章目录 一、实战概述二、实战步骤&#xff08;一&#xff09;逐个比较法1、编写源程序2、代码解释说明&#xff08;1&#xff09;函数逻辑解释&#xff08;2&#xff09;主程序部分 3、运行程序&#xff0c;查看结果4、计算时间复杂度 &#xff08;二&#xff09;排序比较法1…

windows server 2012、2019服务器定时重启

手动设置定时任务 1.开始菜单&#xff0c;找到“计划任务程序”; 如果无法创建基本任务的话&#xff0c;可能是系统中的“Task Scheduler”服务没有启动&#xff0c;你可在运行中键入“ services.msc”&#xff0c;查看“Task Scheduler”服务是否被设置成了“已禁用”&#x…

一个个人博客应该怎么学?

一个个人博客应该怎么学&#xff1f; 好多零基础的同学们不知道怎么迈出第一步。 那么&#xff0c;就找一个现成的模板学一学呗&#xff0c;毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题&#xff0c;那就是&#xff0c;那些模板都&#xff0c;太&#xff01;复&…

哪个牌子的护眼台灯适合学生?2024护眼台灯推荐

不知道各位父母对孩子的视力健康有没有关注&#xff0c;我国儿童青少年的近视率高达52.7%&#xff0c;也就是说&#xff0c;平均是个儿童中就有五个儿童存在视力问题&#xff0c;而且近视发生年龄提前至3到7岁。作为一名眼部护理博主&#xff0c;孩子从小看书、看屏幕起&#x…

10分钟快速搭建个人博客、文档网站!

本文来分享 8 个现代化前端工具&#xff0c;帮你快速生成个人博客、文档网站&#xff01; VitePress VitePress 是一款静态站点生成器&#xff0c;专为构建快速、以内容为中心的网站而设计。简而言之&#xff0c;VitePress 获取用 Markdown 编写的源内容&#xff0c;为其应用…

爬虫实战丨基于requests爬取比特币信息并绘制价格走势图

文章目录 写在前面实验环境实验描述实验内容 写在后面 写在前面 本期内容&#xff1a;基于requests爬取比特币信息并绘制价格走势图 下载地址&#xff1a;https://download.csdn.net/download/m0_68111267/88734451 实验环境 anaconda丨pycharmpython3.11.4requests 安装r…

3D scanner with DLPC3478

https://www.bilibili.com/video/BV1vJ411J7ih?p3&vd_source109fb20ee1f39e5212cd7a443a0286c5 因数&#xff1a; 分别率波长pattern速度 DMD 与 DLPC匹配 3D scanner是结构光的概念走的 Internal pattern, 是DLPC内部提供图像给DMD External Pattern, 外部FPGA /MCU…

计算n的平方根m 进而将m向下取整 math.isqrt()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算n的平方根m 进而将m向下取整 math.isqrt() 选择题 请问执行math.isqrt(10)的运行结果是&#xff1a; import math print("【执行】math.sqrt(10)") print (math.sqrt(10)) pr…

02.部署LVS-DR群集

技能展示&#xff1a; 了解LVS-DR群集的工作原理 会构建LVS-DR负载均衡群集 2.1 LVS-DR 集群 LVS-DR&#xff08; Linux Virtual Server Director Server &#xff09;工作模式&#xff0c;是生产环境中最常用的一种工作模式。 2.1.1&#xff0e;LVS-DR 工作原理 LVS-DR 模式&…

easyexcel 3.0.x 版本实现指定列 锁定以及指定列隐藏

1&#xff1a;效果示例 2&#xff1a;代码示例&#xff1a; UnLockCell.java package com.example.juc.zhujie;/*** Author * Date Created in 2023/12/19 10:09* DESCRIPTION:* Version V1.0*/import java.lang.annotation.*;/*** 用于标记锁定哪些列不需要锁定* author 12…

VMware Workstation17安装教程及安装Ubuntu22.04系统

编程如画&#xff0c;我是panda&#xff01; 前言 VMware Workstation Pro 是一款高级虚拟化软件&#xff0c;使用户能够在单一计算机上同时运行多个操作系统&#xff0c;如Windows、Linux和macOS&#xff0c;而无需重新启动。具备虚拟机快照、高级网络配置、克隆和复制功能&a…