`

Java参数-Xms和-Xmx的区别

阅读更多
   java内存堆栈不够用时我们会寻求java参数-Xms和-Xmx的帮助,网上也有许多前辈给出了例子,但很多人喜欢把-Xms和-Xmx的值设置成一样的,甚至我还见过有吧-Xms设的比-Xmx还要大(-Xms是最小值,-Xmx是最大值)。
    一开始我也不知道这两个值设成一样会有什么问题,但是我在作项目http://youmonitor.us/ 时发现,当我把-Xms和-Xmx设置成一样时,java会不断地吃内存。起先不知道怎么回事,经过测试后发现,原来java的垃圾回收器在内存使用达到-Xms值的时候才会开始回收,如果两个值一样,那就意味着,只有当java使用完所有内存时才会回收垃圾,这样一来内存当然不停的涨。希望我的教训对各位有所帮助。
分享到:
评论
8 楼 cai555 2008-04-30  
google
7 楼 Joo 2008-04-30  
请教各位大大哪里可以查阅到有关JVM GC和多种JVM比较的资料 谢谢
6 楼 liquidthinker 2007-09-05  
dennis_zane 写道
不同厂家的jdk垃圾回收算法不一样,不能一概而论

补充,并且同一jdk的gc策略也有多种,不能一概而论
另外,在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率,并且这种负面影响足以抵消前者产生的益处
5 楼 devilbaby 2007-09-05  
不单是垃圾收集,vm会根据空余内存,在xms和xmx之间调整内存,所以会耗时
4 楼 galaxystar 2007-09-05  
针对不同应用切换到最合适的GC算法好了.

如果是1.6的jdk, CMS回收算法有很大的增强
详见 http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html
3 楼 dennis_zane 2007-09-05  
不同厂家的jdk垃圾回收算法不一样,不能一概而论
2 楼 greatqiao 2007-09-05  
以前只知道最大值于最小值,今天知道最小值于垃圾回收的原理了。受教了。
1 楼 tvjody 2007-09-03  
一般设置为
-Xms128m
-Xmx512m

相关推荐

    java jvm 参数 -Xms -Xmx -Xmn -Xss -

    在JVM中,内存管理是至关重要的,而`-Xms`, `-Xmx`, `-Xmn`, `-Xss`等参数则直接影响着Java应用程序的性能和稳定性。这些参数是用来调整JVM堆内存和线程栈大小的。 1. `-Xms`: 这个参数用于设置JVM启动时初始的堆...

    java_jvm_参数_-Xms_-Xmx_-Xmn_-Xss_调优总结.pdf

    本文档主要介绍Java虚拟机(JVM)中四个重要的参数:`-Xms`、`-Xmx`、`-Xmn` 和 `-Xss` 的含义、作用以及如何通过这些参数来优化JVM的性能。这些参数直接影响到Java应用程序运行时的内存管理策略,合理配置能够显著...

    JVM调优总结 -Xms -Xmx -Xmn -Xss

    其中,-Xms、-Xmx、-Xmn、-Xss 是四个重要的参数,分别控制 JVM 的初始堆大小、最大堆大小、年轻代大小和每个线程的堆栈大小。 堆大小设置是 JVM 调优的重要一步。JVM 的最大堆大小受到三个方面的限制:操作系统的...

    JVM调优总结 Xms -Xmx -Xmn -Xss

    本文将对JVM调优中的几个关键参数进行深入解析,包括-Xms、-Xmx、-Xmn和-Xss等,帮助开发者更好地理解这些参数的作用及如何合理设置。 #### 1. -Xms(Initial Heap Size) - **定义**:设置JVM启动时初始分配给堆...

    修改JVM内存

    可以通过注册表或`TomcatW.exe`图形界面调整服务启动时的内存参数,也可以直接在`startup.bat`脚本中添加`JAVA_OPTS='-Xms1024 -Xmx1024m'`或`set JAVA_OPTS=-server -Xms1024m -Xmx1536m -XX:MaxNewSize=1024m -XX:...

    JVM参数-Xms-Xmx-Xmn-Xss-调优总结.docx

    本文主要围绕四个核心JVM参数:-Xms、-Xmx、-Xmn和-Xss进行深入讲解,并结合实际配置示例来阐述其作用和调优策略。 1. `-Xms` 和 `-Xmx`: 这两个参数用于设定JVM堆内存的最小和最大值。例如,`-Xms3550m`表示初始...

    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别

    Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 是 Java 虚拟机(JVM)中用于配置内存管理的参数。这些参数控制着 JVM 中的堆内存和非堆内存的分配。 ...

    MyEclipse修改jvm内存.docx

    4. 在“Edit JRE”对话框中,输入以下参数:-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=1024m。 5. 点击“Finish”按钮以保存配置。 通过修改myeclipse.ini文件配置jvm虚拟机的内存 myeclipse.ini文件...

    redis和java整合运动的jar包--免费

    它以其高效的速度和丰富的数据结构(如字符串、哈希、列表、集合、有序集合)深受Java开发者喜爱。Java与Redis的整合是Java应用中常见的需求,以便利用Redis的强大功能。 在Java中,Jedis是一个广泛使用的Redis...

    tomcat7安装使用及jvm连接数参数调优

    JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" 其中,-Xms1024m 指定了初始堆大小为 1024m,-Xmx1024m 指定了最大堆大小为 1024m,-Xss1024K 指定了每个线程的栈大小为 1024K...

    分别在Linux和Windows下设置JVM内存的简单方法

    添加:JAVA_OPTS=’-Xms512m -Xmx1024m’ 或者 JAVA_OPTS=”-server -Xms800m -Xmx800m  -XX:MaxNewSize=256m” 或者 CATALINA_OPTS=”-server -Xms256m -Xmx300m” Windows服务器: 在/apache-tomcat-5.5.23/bin ...

    tomcat常用功能的配置

    set JAVA_OPTS=-Xms256m -Xmx256m -XX:MaxPermSize=64m ``` 这些配置可以帮助优化Tomcat的性能和稳定性,确保应用程序能够高效运行。 以上就是关于Tomcat常用功能配置的一些详细介绍,希望能帮助大家更好地管理和...

    weblogic参数调整参考

    weblogic参数配置 整理的比较乱,但是具体的参数结合weblogic10的console进行调整

    java中-jar 与nohup的对比

    从上面的描述中可以看到,`java -jar` 命令和 `nohup` 命令有很大的区别。`java -jar` 命令适合短时间测试用途,而 `nohup` 命令适合生产环境中长时间运行的应用程序。 在选择使用哪个命令时,需要考虑以下几点: ...

    JVM参数设置详细说明

    - `-Xmx` 和 `-Xms` 用于设定JVM的最大堆(`Max Heap Size`)和最小堆(`Initial Heap Size`)。保持它们相等可以避免内存频繁调整导致的性能波动。 - `-Xmn` 设定年轻代(`Young Generation`)的大小,通常与应用中创建...

    JAVA-OPTS参数设置.docx

    JAVA-OPTS参数设置 JAVA-OPTS 是一个变量,用于设置 JVM 相关运行参数。JVM 是 Java Virtual Machine 的缩写,表示 Java 虚拟机。JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要影响。 在设置 JAVA-...

    运行jar程序时添加vm参数的方法

    在Java开发中,有时我们需要对运行的JAR程序进行一些高级配置,比如调整虚拟机(JVM)的堆内存大小,开启远程监控等。本文将详细介绍如何在运行JAR...确保正确理解和使用这些参数,可以更好地管理和调试Java应用程序。

    JVM内存配置优化

    可以通过调整JVM参数`-Xms`和`-Xmx`来增加堆内存的初始值和最大值。例如,设置`-Xms2048m -Xmx2048m`可以将堆内存的最小和最大值都设置为2GB。 - **JVM默认堆内存配置**:JVM默认情况下,最小堆内存为物理内存的1...

Global site tag (gtag.js) - Google Analytics