堆分配参数总结:

  • -Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可
  • -Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。

一般来讲对于堆区的内存分配只需要对上述两个参数进行合理配置即可。

  • -XX:MinHeapFreeRatio:设置堆空间的最小空间比例。当堆空间的空闲内存小于这个数值时,jvm便会扩展堆空间。
  • -XX:MaxHeapFreeRatio:设置堆空间的最大空间比例。当堆空间的空闲内存大于这个数值时,jvm便会缩小堆空间。
  • XX:NewSize : 设置新生代的大小
  • XX:NewRatio:设置老年代与新生代的比例,即老年代除以新生代大小
  • XX:SurviorRatio:新生代中eden区与survivior 区的比例
  • -XX:PermSize:设置永久区的大小
  • -XX:TargetSurvivorRatio:设置survivior 的使用率。当达到这个空间使用率时,会将对象送入老年代。

方法区参数配置

  • -XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
  • -XX:MaxPermSize:表示对非堆区分配的内存的最大上限

栈的容量配置

  • -Xss:设置线程栈的大小

本机直接内存设置

  • -XX:MaxDirectMemorySize :指定本机直接内存大小,如果不指定就表示和Java堆最大值(-Xmx)相同

例子:

-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

上面设置的参数就是堆初始化128M,最大堆内存是512M;方法区初始化分配内存128M,方法区最大上限是512M。

Java虚拟机内存参数设置相关推荐

  1. java jvm 内存参数_深入详解JVM内存模型与JVM参数详细配置

    对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块.Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建. JVM内存结构 由上图可以清楚的看到 ...

  2. java 虚拟机_浅谈Java虚拟机内存区

    1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...

  3. JAVA环境指定xms512_【JAVA学习】java虚拟机内存配置,-Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m...

    转自:https://blog.csdn.net/a503921892/article/details/39048737 配置tomcat服务器内存大小中的Xms.Xmx.PermSize.MaxPe ...

  4. java虚拟机内存模型与垃圾回收知识复习总结

    今天日子很特殊,1024程序员节,本来每个月计划的是至少一篇博客,刚好这个月还没写,今天的日志又特殊,必须要写一篇博客. 之前看过一些讲java虚拟机的课程,但是学过容易忘,总结一下,平时可以多看看. ...

  5. 二、JVM内存模型及内存参数设置

    二.JVM内存模型 1.Java语言跨平台特性 java程序主要通过JVM来实现跨平台的,JVM编译器将Java源代码文件编译成字节码文件(一次编译,随处运行),然后不同的操作系统生成的机器码不同,但 ...

  6. java虚拟机中参数的使用和具体介绍

    命名 java - 启动一个Java应用程序 简介 要启动一个类文件. java[options] mainclass [args -]. 要启动JAR文件中的主类. java[options] -j ...

  7. 掌握 Spring Boot 运行内存及内存参数设置:助力高效应用部署与优化

    pring Boot 是当今非常流行的 Java 应用框架之一,在企业级应用开发中被广泛使用.应用部署和优化是企业级应用开发的一个非常重要的方面.在这篇博客中,我们将学习如何掌握 Spring Boo ...

  8. Java 虚拟机内存模型

    一.前言 Java 虚拟机,简称 JVM(Java Virtual Machine),是 Java 语言中最为核心的一个东西,Java 程序运行离不开它,因为它的存在,使得 Java 拥有" ...

  9. 【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )

    文章目录 一. Java 虚拟机内存模型 二. 程序计数器 ( 线程私有区 ) 三. 虚拟机栈 ( 线程私有区 ) 四. 本地方法栈 ( 线程私有区 ) 五. 方法区 ( 共享数据区 ) 1. 方法区 ...

最新文章

  1. 15万人调查发现:做博后越久,一辈子挣的钱越少
  2. Django rest_framework 认证源码流程
  3. 张家口以太坊智能合约开发实战pdf_以太坊的再次腾飞,你看得懂么?
  4. ext中引用ux_Ext.ux.form.SearchField使用方法
  5. springboot通过Intellij指定端口
  6. Android 第三方库RxLifecycle使用
  7. 通过修改注册表设定浏览器的却省值
  8. [剑指offer][JAVA]面试题第[10-1]题[斐波那契数列][动态规划][记忆化递归]
  9. python中的matlibplot_python中如何用matlibplot画时间序列图?
  10. linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数
  11. 视频应用在区块链上的应用
  12. Atcoder Beginner Contest (ABC) 237 A - E
  13. 应用电路笔记(1)-三极管8550和8050应用
  14. python经典教程_零基础 Python爬虫经典实战教程
  15. h5 每页打印固定表头以及表尾 解决表头过长打印分页表头不固定问题
  16. BCD码的作用和实现
  17. 【论文学习】Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature
  18. hdu 1284钱币兑换问题
  19. BPM那些事儿——开源BPM引擎
  20. 基于php的宠物狗销售网站

热门文章

  1. hash crc32_Hasher Lite.小巧实用的HASH(哈希)计算小工具
  2. 弹性理念应用于城市公园景观设计中的重要性
  3. RTL8198D 编译出现sk_pacing_shift_update未定义
  4. SpringBoot启停脚本
  5. K3 Cloud 参数配置、消息配置
  6. 出现selenium操作ie浏览器,打开之后没有反应,Unexpected error launching Internet Explorer的解决方案
  7. MuZero:用学习模型规划玩转雅达利、围棋、国际象棋和日本将棋
  8. Odoo15官方文档 开发 核心教程 第4章:模型和基本字段
  9. python中read、readline和readlines的区别
  10. GitHub 上的优质 Linux 开源项目,真滴牛逼!