• -Xms 堆内存的初始大小,默认为物理内存的1/64。 -Xmx 堆内存的最大大小,默认为物理内存的1/4~1/2。 -Xmn 堆内新生代的大小。通过这个值也可以得到老生代的大小:-Xmx减去-Xmn。

-Xss 设置每个线程可使用的内存大小,即栈的大小。

在相同物理内存下,减小这个值能生成更多的线程,当然操作系统对一个进程内的线程数还是有限制的,不能无限生成。线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大,如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。

常规做法: Xms=Xmx=物理内存的1/2。 Xmn=1/2Xmx

举个栗子

APP_START_JVM_OPTION:::-Djsse.enableSNIExtension=false -Xmx2G -Xms2G
-Xmn1G -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Dspring.config.location=classpath:application.properties,classpath:client.properties,classpath:client.properties
-D.log.config-location=classpath:application.properties -D.log.reload-scan-mills=40000 -D.log.enabled=true -D.server.web-environment=true -Duser.language=zh

异常:
如上参数设置不当,会导致fullgc频繁。

fullgc频繁的表现:CPU飙高、内存异常。也可能存在内存泄漏out of Memory。

Xmn、Xms、Xmx、Xss有什么区别以及异常相关推荐

  1. 5.JVM三大性能调优参数:-Xms -Xmx -Xss

    1.-Xss是对每个线程stack大小的调整.直接影响对方法的调用次数 测试结果: 测试代码: package com.dt.spark.jvm.basics; public class HelloS ...

  2. JVM常用参数(-Xms/-Xmx/-Xss/-Xmn)

    1.JVM涉及的空间:堆:包括年轻代与老年代+字符串常量池,年轻代由一个Eden与两个Survivor区.方法区:持久代与元空间都是方法区的实现,JDK1.8改为元空间. 2.JVM参数设置,先来看服 ...

  3. Xms Xmx Xss 释义

    Xms 是指设定程序启动时占用内存大小.一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢. Xmx 是指设定程序运行期间最大可占用的内存大小.如果程序运行需要占用更多的内存,超出了这 ...

  4. 第5课:实战演示jvm三大性能调优参数:-xms -xmx -xss

    内容: 1.实战演示-Xss性能调优参数 2.实战演示-Xms.-Xmx性能调优参数 一.实战演示-Xss性能调优参数 Java每个线程的Stack大小.JDK5.0以后每个线程堆栈大小为1M,以前每 ...

  5. Java -Xms -Xmx -Xss -XX:MaxNewSize -XX:MaxPermSize含义记录

    出现java.lang.OutOfMemoryError异常时,常使用的方法便是将如下配置语句: -Xms512m -Xmx512m -Xss1024k -XX:MaxNewSize=256M -XX ...

  6. Xms Xmx PermSize MaxPermSize的区别

    1.参数的含义 vmargs -Xms 128M -Xmx 512M -XX:PermSize=64M -XX:MaxPermSize=128M -vmargs 代表后面是设置jvm的参数 -Xms ...

  7. JVM优化之 -Xss -Xms -Xmx -Xmn 参数设置简介说明

    转自: JVM优化之 -Xss -Xms -Xmx -Xmn 参数设置简介说明 下文笔者讲述JVM参数中常见的"-Xss -Xms -Xmx -Xmn"功能简介说明,如下所示: - ...

  8. java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

    常见配置举例 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G ...

  9. xms java_java xms xmx xmn xss解释

    java xms xmx xmn xss解释 Xmx是java的一个选项,用来设置你的应用程序能够使用的最大内存数(是应用程序,不是整个jvm),如果你的程序要花很大内存的话,那就需要修改缺省的设置, ...

最新文章

  1. 软件测试领域的中心化与去中心化
  2. 19岁大学生网恋被骗318万!见到“女神”后傻了,对方竟有200斤!
  3. 比Segway轻便的机器人溜冰鞋
  4. pyV8不支持dom操作,关于PyV8的支持DOM的疑问
  5. VTK:图片之ImageSeparableConvolution
  6. c++ 线程间通信方式
  7. android 字体 动画,android 对绘制的文本添加动画
  8. git安装错误:can not read system config
  9. emif接口速率问题_OMAPL138 EMIF读取速率问题
  10. 董付国老师1900页系列Python教学PPT阅读地址汇总
  11. Markdown语法014:浏览器兼容
  12. 使用git可视化工具上传你修改的代码
  13. Python运行报错most recent call last
  14. 回文联对联大全_回文对联大全
  15. JavaScript学习笔记(条件判断)
  16. 重要信息通知短信解决方案
  17. 基于微信小程序的水果丨蔬菜丨农产品商城系统源码(SSM与Springboot版本均有)
  18. 【转】iOS游戏/应用的营销及推广技巧(2)
  19. bmob php支付,个人开发者也能盈利!Bmob支付SDK使用实例
  20. Please don't stop rua 233333

热门文章

  1. 基于socket的可发送表情简单即时通讯
  2. 适合不想露脸的普通人做,把一段文字制作成视频,一周挣了2564
  3. 微信,是怎么过来的(2010-2015)
  4. PostgreSQL:trunc函数
  5. ChinaJoy+人工智能!3D AR酷炫体验游戏崭露头角
  6. Target EDI 850 采购订单报文详解
  7. jQuery+Ajax+Axios
  8. 用Selenium进行百度搜索结果简单提取
  9. 世界最大的PHP站点 Facebook后台技术探秘
  10. ModelMap传递数据(简洁)