在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都是知其然不知其所以然,今天找了下资料,归纳一下:
-Xms:java Heap初始大小, 默认是物理内存的1/64。
-Xmx:ava Heap最大值,不可超过物理内存。
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一 。增大年轻代后,将会减小年老代大小,可以根据监控合理设置。
-Xss:每个线程的Stack大小,而最佳值应该是128K,默认值好像是512k。
-XX:PermSize:设定内存的永久保存区初始大小,缺省值为64M。
-XX:MaxPermSize:设定内存的永久保存区最大大小,缺省值为64M。
-XX:SurvivorRatio:Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10
-XX:+UseParallelGC:F年轻代使用并发收集,而年老代仍旧使用串行收集.
-XX:+UseParNewGC:设置年轻代为并行收集,JDK5.0以上,JVM会根据系统配置自行设置,所无需再设置此值。
-XX:ParallelGCThreads:并行收集器的线程数,值最好配置与处理器数目相等 同样适用于CMS。
-XX:+UseParallelOldGC:年老代垃圾收集方式为并行收集(Parallel Compacting)。
-XX:MaxGCPauseMillis:每次年轻代垃圾回收的最长时间(最大暂停时间),如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
-XX:+ScavengeBeforeFullGC:Full GC前调用YGC,默认是true。
例如:JAVA_OPTS=”-Xms4g -Xmx4g -Xmn1024m -XX:PermSize=320M -XX:MaxPermSize=320m -XX:SurvivorRatio=6″
-Xms:java Heap初始大小, 默认是物理内存的1/64。
-Xmx:ava Heap最大值,不可超过物理内存。
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一 。增大年轻代后,将会减小年老代大小,可以根据监控合理设置。
-Xss:每个线程的Stack大小,而最佳值应该是128K,默认值好像是512k。
-XX:PermSize:设定内存的永久保存区初始大小,缺省值为64M。
-XX:MaxPermSize:设定内存的永久保存区最大大小,缺省值为64M。
-XX:SurvivorRatio:Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10
-XX:+UseParallelGC:F年轻代使用并发收集,而年老代仍旧使用串行收集.
-XX:+UseParNewGC:设置年轻代为并行收集,JDK5.0以上,JVM会根据系统配置自行设置,所无需再设置此值。
-XX:ParallelGCThreads:并行收集器的线程数,值最好配置与处理器数目相等 同样适用于CMS。
-XX:+UseParallelOldGC:年老代垃圾收集方式为并行收集(Parallel Compacting)。
-XX:MaxGCPauseMillis:每次年轻代垃圾回收的最长时间(最大暂停时间),如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
-XX:+ScavengeBeforeFullGC:Full GC前调用YGC,默认是true。
例如:JAVA_OPTS=”-Xms4g -Xmx4g -Xmn1024m -XX:PermSize=320M -XX:MaxPermSize=320m -XX:SurvivorRatio=6″
发表评论
-
java中线程池
2016-06-26 16:31 401最近在看线程池的类容,自己动手实现一个 package ... -
WebService相关
2015-07-26 21:55 1015之前由于工作需要 ... -
java RMI
2015-07-23 23:04 469JAVA RMI相关 分布 ... -
java jdbc 连接池
2015-07-21 00:18 519经常使用hibernate,在使用hibernate的时候经常 ... -
java 流传输压缩包
2015-07-14 23:14 624有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是 ... -
java 网络传输文件
2015-06-01 21:14 474package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 335MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 390在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 450最近在看java设计模式,看到builder模式感觉十分不错, ... -
网上见到一篇compareTo文章较好,收藏之
2014-12-04 21:04 5821、compareTo(Object o)方法是jav ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 789在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 525问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1160File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 946读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 523最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 568文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 448import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1204在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6606今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
### jvm常用命令工具 #### 一、概述 在程序运行过程中,经常会出现各种各样的问题,例如性能瓶颈、内存泄漏、死锁等。为了快速定位并解决问题,我们需要收集多种类型的运行时信息,包括但不限于系统日志、堆转储...
本文将深入探讨JVM的常用参数设置,以及它们如何影响Java应用程序的运行。 一、JVM内存设置 1. **堆内存**: - `-Xms`:初始堆大小,例如`-Xms256m`表示初始分配256MB内存。 - `-Xmx`:最大堆大小,例如`-Xmx...
JVM 提供两种较为简单的 GC 策略的设置方式: 1. 吞吐量优先:JVM 以吞吐量为指标,自行选择相应的 GC 策略及控制新生代与旧生代的大小比例,来达到吞吐量指标。这个值可由 -XX:GCTimeRatio=n 来设置。 2. 暂停时间...
例如,`-Xms`和`-Xmx`用于设置JVM堆内存的初始大小和最大大小,这对于控制程序的内存消耗至关重要。`-XX:NewRatio`可以调整新生代与老年代的比例,而`-XX:SurvivorRatio`则用于设定Eden区与Survivor区之间的比例,这...
### 设置Eclipse的JVM参数 #### 一、引言 在进行Java开发时,Eclipse作为一款广泛使用的集成开发环境(IDE),其性能优化对于提高开发效率和应用稳定性至关重要。其中,设置合适的JVM(Java虚拟机)参数是优化...
### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率。为了更好地控制JVM的行为并进行调优,熟悉JVM的配置参数至关重要。本文将深入...
### JVM常用的GC策略详解 #### 一、引言 在Java虚拟机(JVM)中,垃圾收集(GC)是一项至关重要的任务,它自动管理程序运行时不再使用的对象内存,从而避免了手动管理内存可能导致的内存泄漏等问题。本文将详细介绍几...
此外,JVM的线程配置参数如“-Xss”设置每个线程的栈大小,对多线程应用的性能有直接影响。而“-XX:ParallelGCThreads”和“-XX:ConcGCThreads”分别控制并行和并发垃圾收集的线程数量,调整这两个参数可以优化垃圾...
它可以用来查看Java系统的属性设置和JVM启动时的命令行参数,对于理解程序运行环境和进行故障排查非常有用。 **基本用法**: ``` jinfo [option] jinfo [option] <executable> jinfo [option] [server-id@] ``` ...
22. **-XX:InitialHeapSize** 和 **-XX:MaxHeapSize**: 分别设置JVM初始堆大小和最大堆大小。 23. **-XX:+PrintGCDetails** 和 **-XX:+PrintGCTimeStamps**: 打印详细的垃圾收集日志和时间戳。 24. **Xloggc:gc....
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM...1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结
- `-XX:+PrintFlagsFinal`打印所有默认和已设置的JVM选项,`-XX:+PrintGCDetails`和`-XX:+PrintGCDateStamps`用于输出详细的GC日志,便于分析。 10. **内存泄漏检测**: - 使用`-XX:+HeapDumpOnOutOfMemoryError`...
该文档总结了JVM主要的七种垃圾回收器特点与区别,分别描述了他们作用于堆内存的哪些区域,采用单线程还是多线程工作方式,在运行过程中是否需要暂停其他用户工作线程。是笔者对周志明老师的《深入理解java虚拟机》...
JVM(Java Virtual Machine)是Java程序运行的基础,对于任何Java开发者来说,深入理解JVM是非常重要的,尤其在面试高级职位时。以下是一些关键的JVM知识点: 1. **Java内存划分**: - **堆内存**:分为年轻代...
* -Xmx3550m:设置JVM最大可用内存为3550M。 * -Xms3550m:设置JVM初始内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 * -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小+...
参数 | 解释内存类|-Xss: | 指定线程栈大小,默认是1M-Xms: | 指定jvm初始堆大小-Xmx: | 指定jvm最大可用内存-Xmn:| 设置新生
虽然理论上可以支持 256 条指令,但目前常用的指令集大约有 160 条左右。JVM 的指令集采用了固定长度的格式,每条指令都是由一个操作码(Opcode)和零个或多个操作数组成。这种设计使得指令集既简单又易于扩展。 ...
常用工具 - **VisualVM**:是一个可以监控运行时的Java应用程序和环境的工具。 - **Memory Analyzer**:用于分析Java堆转储的分析工具。 #### 11. 案例分析 通过具体案例,如系统频繁FullGC、String.intern的使用...
介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法 标记压缩 可触及性 本章是理论性较强的一章,主要介绍GC的基本算法和思想,本...