`
tomcat_oracle
  • 浏览: 316981 次
社区版块
存档分类
最新评论

Java VM 参数描述

    博客分类:
  • Java
阅读更多
内部服务参数配置:
JAVA_OPTS="-server -XX:+UseParNewGC -Xms1024m -Xmx2048m -XX:MaxNewSize=128m -XX:NewSize=128m -XX:PermSize=96m -XX:MaxPermSize=128m -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:CMSInitiatingOccupancyFraction=1 -XX:+CMSIncrementalMode -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=20000 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0  -XX:CMSIncrementalDutyCycleMin=10 -XX:CMSIncrementalDutyCycle=30 -XX:CMSMarkStackSize=8M -XX:CMSMarkStackSizeMax=32M"
  前端应用参数配置:
JAVA_OPTS="-server  -Xmx4096m -Xms4096m -Xmn480m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=8 -XX:CMSFullGCsBeforeCompaction=0
-XX:+UseCMSCompactAtFullCollection -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:GCTimeRatio=19
-Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0"
  参数说明:
  -Xmx1280m:设置JVM最大可用内存为1280m。最大可设为3550m。具体应用可适当调整。
  -Xms1280m:设置JVM初始内存为1280m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
  -Xmn480m:设置年轻代大小为480m。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
  -Xss256k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
  -XX:PermSize=64m:指定 jvm 中 Perm Generation 的最小值。 这个参数需要看你的实际情况。可以通过jmap 命令看看到底需要多少。
  -XX:MaxPermSize=128m:指定 Perm Generation 的最大值
  -XX:+UseConcMarkSweepGC:设置并发收集器
  -XX:ParallelGCThreads=8:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
  -XX:CMSFullGCsBeforeCompaction=0:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。
  -XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片。
  -XX:SurvivorRatio=8:每个survivor space 和 eden之间的比例。
  -XX:MaxTenuringThreshold=7:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概率。
  -XX:GCTimeRatio=19:设置垃圾回收时间占程序运行时间的百分比,公式为1/(1+n)。
  -Xnoclassgc:禁用类垃圾回收,性能会有一定提高。
  -XX:+DisableExplicitGC:当此参数打开时,在程序中调用System.gc()将会不起作用。默认是off。
  -XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。
  -XX:-CMSParallelRemarkEnabled:在使用 UseParNewGC 的情况下 , 尽量减少 mark 的时间。
  -XX:CMSInitiatingOccupancyFraction=70:指示在 old generation 在使用了 70% 的比例后 , 启动 concurrent collector。
  -XX:SoftRefLRUPolicyMSPerMB=0:每兆堆空闲空间中SoftReference的存活时间。
7
1
分享到:
评论

相关推荐

    java获取系统参数

    `java.vm.specification.*`系列属性描述了Java虚拟机(JVM)的规范信息,比如版本、供应商和名称。`java.vm.version`则表示具体JVM实现的版本。`java.specification.*`系列属性则关于Java运行时环境规范,如版本和...

    Java使用JNI测试程序

    - **本地方法签名**:描述了Java方法的参数类型和返回类型,用于在JNI中查找对应的方法。 5. **DLL库的使用**: 在Windows平台上,DLL库是共享库的一种形式,它包含可由多个进程同时使用的代码和数据。在JNI中,...

    Eclipse 运行命令行参数大全

    - **Java VM arguments**: 用于控制 JVM 行为的参数,如 `-Xms`, `-Xmx` 等。 #### 五、总结 通过掌握 Eclipse 的命令行参数,开发者可以根据自己的需求定制 Eclipse 的启动过程,从而提高工作效率和开发体验。无论...

    android JNI C 调用Java

    JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { JNIEnv *env; (*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_6); jclass myActivityClass = (*env)->FindClass(env, ...

    JNI攻略之十一――启动虚拟机调用java类

    标题与描述均指向了一个具体的技术主题——通过JNI(Java Native Interface)在C语言环境中启动Java虚拟机并调用Java类。这一技术应用广泛,尤其是在需要跨语言编程或利用Java的特性(如垃圾回收、多线程)而底层...

    我的IDEA2024设置

    6. **VM选项**:`idea64.exe.vmoptions`文件用于配置IDEA的Java虚拟机参数,包括内存分配、垃圾回收策略等,这些设置会影响IDEA的性能表现。 7. **内部状态**:`app-internal-state.db`可能存储了IDEA的内部状态...

    Mybatis-plus自动生成代码

    在描述中提到,“根据数据库表面,逗号分隔生成代码”,这可能是指在配置代码生成器时,我们可以指定多个表名,用逗号分隔,一次生成多个表的相关代码。这种方式尤其适合拥有大量表的项目,可以一次性完成批量生成,...

    java1.7.0环境配置安装方法

    Java HotSpot(TM) Client VM (build 24.0-bXX, mixed mode, sharing) ``` - `javac`: 如果命令提示符窗口中能够找到此命令,说明编译器已经可以被正常使用。 #### 五、常见问题及解决方法 1. **无法识别java或...

    2008JAVA工程师高级培训教程9

    6. **VM参数**:了解和优化Java虚拟机(JVM)参数是提升应用性能的关键。通过调整堆大小、垃圾回收策略、编译器选项等,开发者可以最大化应用的运行效率。理解如何分析和调整JVM参数,可以帮助解决性能瓶颈问题。 ...

    2008JAVA工程师高级培训教程5

    此外,还涉及虚拟机(VM)参数的优化,尽管输入描述中提到IO部分的讲解相对较少。下面将对这些关键知识点进行详细的阐述。 首先,Java的安全性是Java平台的一个重要特性,它确保了代码的可信性和可靠性。Java通过类...

    java jvm内存模型

    虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作栈、动态链接、方法出口等信息。活动线程中,只有栈顶的栈帧是有效的,称为当前栈帧,...

    Caused by: java.lang.OutOfMemoryError: PermGen space解决方案

    - 在 `Java` 配置界面,可以看到 `VM arguments` 或 `Java Options` 字段,这里可以设置JVM的启动参数。为了增加 PermGen 空间,需要添加以下命令行参数: ``` -XX:MaxPermSize=256m ``` 其中,256m 是你希望...

    VMCollection:一堆用 Java 编写的 VM

    【描述】"虚拟机集合,一堆用 Java 编写的 VM" 提示我们这个资源可能包含多个不同的 Java 虚拟机实现。Java 虚拟机(JVM)是 Java 平台的核心组成部分,它负责运行 Java 应用程序。通过使用 Java 编写的虚拟机,...

    2008JAVA工程师高级培训教程3

    虚拟机(VM)参数调整是Java性能优化的重要环节。通过调整JVM内存设置(如-Xms, -Xmx, -XX:MaxPermSize等)、垃圾收集策略(如Parallel GC, CMS, G1等)和编译优化选项,可以显著提升应用程序的运行效率。 至于IO...

    2008JAVA工程师高级培训教程7

    6. **虚拟机(VM)参数**:理解和调整JVM参数对于优化应用程序性能至关重要。这部分可能包含内存配置(如堆大小、栈大小)、垃圾收集策略、类加载和编译器选项等。 7. **输入/输出(IO)**:虽然描述中提到IO讲得较...

Global site tag (gtag.js) - Google Analytics