IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Java 虚拟机启动 -> 正文阅读

[PHP知识库]Java 虚拟机启动

Java 虚拟机

JVM的启动参数

运行一个java程序,在命令行中输入命令:

jps: 显示当前运行在虚拟机上的进程,可以查看我们自己的程序的进程号:3272

然后输入下面命令:该命令会打印当前进程运行的 虚拟机的参数配置信息,这些参数是虚拟机启动时自己的默认参数

jinfo -flags 3272

在这里插入图片描述

查看一下这些参数代表的是什么意思:可以到下面的链接中去查找

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

-XX:CICompilerCount=4:设置用于编译的编译器线程数。当然这个参数在服务端上跟客户端上可能会不一样,还有机器的配置也会影响到虚拟机的该默认参数的值,在我的设备上是4.

-XX:InitialHeapSize=31457280:设置内存分配池的初始大小(以字节为单位)。此值必须是 0 或 1024 的倍数且大于 1 MB。附加字母kK以指示千字节,mM指示兆字节,gG指示千兆字节。默认值是在运行时根据系统配置选择的。我的电脑上显示的没有指定单位,说明它是以字节为单位的,占用了31457280个字节

-XX:MaxHeapSize=31457280:设置内存分配池的最大大小(以字节为单位)。此值必须是 1024 的倍数且大于 2 MB。附加字母和上面的-XX:InitialHeapSize代表的含义是一样的。默认值是在运行时根据系统配置选择的。它与-XX:InitialHeapSize这个值 一般设置成一样的。

-XX:MaxMetaspaceSize=31457280:设置可为类元数据分配的最大本机内存量。默认情况下,大小不受限制。应用程序的元数据量取决于应用程序本身、其他正在运行的应用程序以及系统上可用的内存量。

-XX:MaxNewSize=10485760:为年轻代 设置堆的最大大小(以字节为单位)

-XX:MaxTenuringThreshold=6:设置用于自适应 GC 大小调整的最大任期阈值。最大值为 15。并行(吞吐量)收集器的默认值为 15,CMS 收集器的默认值为 6。垃圾回收一次,没有被回收掉的对象,它的GC年龄会加1,这个阈值的意思就是经过6次回收,对象仍然存活,这时就要将对象从年轻代,移动到老年代了。

-XX:MinHeapDeltaBytes=196608:这个值竟然没有在上面的文档中找到

-XX:NewSize=10485760:为年轻代 设置堆的初始大小(以字节为单位),与上面的-XX:MaxNewSize设置年轻代的最大大小是相对应的。堆的年轻代区域用于新对象。GC 在该区域执行的频率高于其他区域。如果年轻代的大小太小,则会执行大量的minor GC。如果大小太大,则只会执行完整的 GC,这可能需要很长时间才能完成。Oracle 建议您将年轻代的大小保持在整个堆大小的一半到四分之一之间。

-XX:OldPLABSize=16:

-XX:OldSize=20971520:

-XX:-UseCompressedOops:禁用压缩指针的使用。默认情况下启用此选项,当 Java 堆大小小于 32 GB 时使用压缩指针。启用此选项后,对象引用表示为 32 位偏移量而不是 64 位指针,这通常会在运行 Java 堆大小小于 32 GB 的应用程序时提高性能。此选项仅适用于 64 位 JVM。当 Java 堆大小大于 32GB 时,也可以使用压缩指针。

为老年代启用 CMS 垃圾收集器。Oracle 建议您在吞吐量 ( -XX:+UseParallelGC) 垃圾收集器无法满足应用程序延迟要求时使用 CMS 垃圾收集器。G1 垃圾收集器 ( -XX:+UseG1GC) 是另一种选择。

-XX:+UseConcMarkSweepGC:默认情况下,此选项处于禁用状态,并根据机器的配置和 JVM 的类型自动选择收集器。当启用该选项时,-XX:+UseParNewGC选项将自动设置,你不应该禁用它,因为下面的选项组合已经在JDK 8被弃用:-XX:+UseConcMarkSweepGC -XX:-UseParNewGC

-XX:+UseParNewGC:启用在年轻代中使用并行线程进行收集。默认情况下,此选项处于禁用状态。当您设置该-XX:+UseConcMarkSweepGC选项时,它会自动启用, 它与上面的 个是配对使用的。

-XX:+UseFastUnorderedTimeStamps:

-XX:-UseLargePagesIndividualAllocation:

-Xms30m:设置堆的最小值和初始大小(以字节为单位)。此值必须是 1024 的倍数且大于 1 MB。附加字母kK以指示千字节,mM指示兆字节,gG指示千兆字节。-Xms与上面的-XX:InitalHeapSize是等效的。

-Xmx30m:以字节为单位指定内存分配池的最大大小(以字节为单位)。此值必须是 1024 的倍数且大于 2 MB。附加字母kK以指示千字节,mM指示兆字节,gG指示千兆字节。默认值是在运行时根据系统配置选择的。-Xmx与上面的-XX:MaxHeapSize参数配置是等效的。

上面的这些参数也可以在java程序启动时手动修改:

  1. 如果是在IDE中运行程序的话,可以在VM Options配置中修改我们想要设置的参数;
  2. 如果是用java命令执行的话,可以在java命令后面跟上这些参数,并以空格分开。
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 09:51:10  更:2021-09-18 09:51:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:42:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码