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

本文深入探讨了JVM调优,特别是针对Tomcat的优化,重点讲解了-Xms, -Xmx, -Xmn和-Xss参数的作用。Xms设置初始堆大小,Xmx设置最大堆大小,Xmn设置年轻代大小,Xss设定每个线程的堆栈大小。文章提到了JVM内存模型和各代收集器的选择,如吞吐量优先的并行收集器和响应时间优先的并发收集器。通过调整这些参数,可以优化Tomcat的性能和内存使用,减少垃圾收集的暂停时间,提升系统整体响应速度。" 138615323,1217320,PTS故障率监控与数据记录,"['故障捕捉', '工厂仿真', '故障率监控']
摘要由CSDN通过智能技术生成

参考:http://blog.sina.com.cn/s/blog_3f12afd00100zpvf.html

          

tomcat7 正式环境的优化

         http://energykey.iteye.com/blog/2072797

tomcat内存配置优化

         http://blog.csdn.net/kefeng824/article/details/31742423

 CentOS 6.5 下的tomcat优化

        http://www.cnblogs.com/littlehb/archive/2013/04/02/2994785.html

JVM(Java虚拟机)优化大全和案例实战--(重点推荐)

       http://blog.csdn.net/kthq/article/details/8618052

http://blog.csdn.net/funchs/article/details/50978576 (tomcat7 优化)

http://www.cnblogs.com/linux130/p/5912510.html (tomcat7 优化配置)

 https://yq.aliyun.com/articles/60757 (Tomcat 7优化配置参数)

http://blog.csdn.net/gif_t_t/article/details/50802748 (Tomcat 7优化前及优化后的性能对比)

 

http://www.cnblogs.com/dsc65749924/p/6081432.html

 

Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。

Xmx 是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。

Xss 是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等。

以上三个参数的设置都是默认以Byte为单位的,也可以在数字后面添加[k/K]或者[m/M]来表示KB或者MB。而且,超过机器本身的内存大小也是不可以的,否则就等着机器变慢而不是程序变慢了。

 

  1. -Xms 为jvm启动时分配的内存,比如-Xms200m,表示分配200M
  2. -Xmx 为jvm运行过程中分配的最大内存,比如-Xms500m,表示jvm进程最多只能够占用500M内存
  3. -Xss 为jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M

 

Total Memory -Xms -Xmx -Xss Spare Memory JDK Thread Count
1024M 256M 256M 256K 768M 1.4 3072
1024M 256M 256M 256K 768M 1.5 768

上面的表格只是大致的估计了下在特定内存条件下可以在java中创建的最大线程数。随着-Xmx的加大,空闲的内存数就更少,那么可以创建的线程也就更少,同时在JDK1.4和1.5版本不同下,可创建的线程数也会根据每个线程的内存大小不同而不同。

      其实只要我们了解了JVM的内存大小指定以及java中线程的内存模型,基本上我们就可以很好的控制如何在java中使用线程和避免内存溢出或错误的问题了。

 

    最近在网上看到一些人讨论到java.lang.Runtime类中的 freeMemory(), totalMemory(), maxMemory()这几个方法的一些问题,很多人感到很疑惑,为什么,在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节,而随着java程序往前运行,创建了不少的对象,freeMemory()这个方法的返回有时候不但没有减少,反而会增加。这些人对 freeMemory()这个方法的意义应该有一些误解,他们认为这个方法返回的是操作系统的剩余可用内存,其实根本就不是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值