一、配置参数使用条件

在不断重构代码的情况下,仍然不能解决内存溢出的问题(OutOfMemoryError等),这种情况下就需要使用JVM的配置参数对JVM运行时各个区域的内存情况进行相应的分配。

二、JVM存储数据的内容的内存分为

①堆区(Java堆:所有的线程共享该区域):通过new的方式创建的对象(一个类的实例)、数组所占的空间。

注意:1)堆区还细分为新生代(Eden空间、From Survivor空间、To Survivor空间)、老年代(Tenured Generation空间)。

2)Java垃圾回收机制只作用于堆区,对非堆区没有作用。

②非堆区:代码、常量、外部访问(比如流在传输数据时所占用的资源)等。

三、常见的参数种类(配置内存)

(1)配置堆区的参数:-Xms、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn

(2)配置非堆区的参数:-XX:PermSize、-XX:MaxPermSize

四、堆区参数配置

(1)-Xms:Java虚拟机堆区内存初始内存分配的大小,按照实际情况进行分配(一般为操作系统可用内存的1/64大小)。

(2)-Xmx:Java虚拟机堆区内存可被分配的最大上限(一般为操作系统可用内存的1/4大小)。

注意:①一般-Xms、-Xmx两个参数会配置相同的值(优点:能够在Java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源)。

(3)-XX:newSize:新生代初始化内存的大小(注意:该值需要小于-Xms的值)。

(4)-XX:MaxnewSize:新生代可被分配的内存的最大上限(注意:该值需要小于-Xmx的值)。

(5)-Xmn:对-XX:newSize、-XX:MaxnewSize两个参数同时进行配置(注意:JDK1.4之后才有该参数)。

五、非堆区参数配置

(1)-XX:PermSize:非堆区初始化内存分配大小。

(2)-XX:MaxPermSize:非堆区分配的内存的最大上限。

java newsize_JVM中的-Xms -Xmx -XX:newSize -XX:MaxnewSize -Xmn -XX:PermSize -XX:MaxPermSize区别介绍...相关推荐

  1. java xmn_Java JVM 参数 -Xms -Xmx -Xmn -Xss调优总结

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

  2. Java JVM虚拟机选项Xms/Xmx/PermSize/MaxPermSize(转)

    通过JVM的这些选项:Xms/Xmx/PermSize/MaxPermSize可以牵扯出很多问题,比如性能调优等. 说明:以下转载没经过实践.转自: Java JVM虚拟机选项Xms/Xmx/Perm ...

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

    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 2012-08-24 12:15 点击window---->preferences----> ...

  4. 什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)

    什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13) 简而言之, Xmx指定应用程序可用的最大堆大小 Xms指定应用程序可用的最小堆大小 这些是Java虚拟机(JVM)参数, ...

  5. JAVA(-Xms,Xmx,Xmn-XX:newSize,-XX:MaxnewSize,-XX:PermSize,-XX:MaxPermSize)区别

    1.-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配. 2.-Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操 ...

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

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

  7. java xmn xms_JVM调优总结 -Xms -Xmx -Xmn -Xss(转)

    https://blog.csdn.net/rickyit/article/details/53895060 Xms 是指设定程序启动时占用内存大小.一般来讲,大点,程序会启动的快一点,但是也可能会导 ...

  8. java 虚拟机 xms_JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别(转)

    java启动参数共分为三类 其一是标准参数( -),所有的JVM实现都必须实现这些参数的功能,而且向后兼容 其二是非标准参数( -X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足, ...

  9. java JVM调优总结 -Xms -Xmx -Xmn -Xss

    为什么80%的码农都做不了架构师?>>>    堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的 ...

最新文章

  1. python数据科学手册_小白入门Python数据科学
  2. C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法
  3. 动态调用WebService
  4. Linux centos 6.7设置MySQL为开机启动
  5. 倒计时3天|阿里云数据库创新上云峰会亮点剧透
  6. 队列 一种数据结构(多线程利器)
  7. PyMC3实现贝叶斯神经网络
  8. java 集合modcount_源码|jdk源码之LinkedList与modCount字段
  9. 知乎:fastjson这么快,为啥老外还是热衷 jackson?
  10. Scrapy框架的用法实例
  11. Unity - Windows获取屏幕分辨率、可用区域
  12. pe_xscan 增加 O31 项
  13. guid主分区表损坏如何处理_磁盘管理之磁盘分区,主引导分区表修复
  14. com.apple.Boot.plist 和SMBIOS.plist 的设置
  15. Excel2016制作动态图表
  16. 对于此版本,windows installer和即点即用的Office不能并行运行,因此只能安装一种类型(安装Visio破解版时的报错)
  17. Linux(CentOS 7)如何创建软件桌面启动图标
  18. [CF1436A] Reorder
  19. RuntimeError: Attempting to deserialize object on CUDA device 3 but torch.cuda.device_count() is 1.
  20. DB2-------

热门文章

  1. 前端各阶段资源,学得完算我输
  2. Egret之位图字体
  3. C语言:关于socket的基础知识点
  4. [android] androidPN开源项目介绍
  5. 2月第4周中国五大顶级域名总量减1.8万 美国增10.8万
  6. access database in a helper function ?
  7. INFORMIX-4GL实用手册
  8. 7个建议帮你完成更多的工作
  9. 基于Vue+nodejs实现的前后端分离疫情防控系统
  10. InfluxDB:cannot use field in group by clause