堆参数

常用参数:

    -Xms --jvm堆的最小值-Xmx --jvm堆的最大值-XX:MaxNewSize  --新生代最大值-XX:MaxPermSize=1028m  --永久代最大值-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)-XX:+PrintGCDetails  --打印出GC的详细信息-verbose:gc --开启gc日志-Xloggc:d:/gc.log -- gc日志的存放位置-Xmn -- 新生代内存区域的大小-XX:SurvivorRatio=8 --新生代内存区域中Eden和Survivor的比例

Java7:

Java8:

JDK1.8之后将最初的永久代取消了,由元空间取代。

元空间与永久代最大的区别在于:

永久代使用的JVM的堆内存,但是Java8以后的元空间并不在虚拟机中而是使用本机物理内存。

因为,默认情况下,元空间的大小仅受本地内存限制。类的元数据放入native memory,字符串池和类的静态变量放入java堆中,这样可以加载多少类的元数据就不再由MaxPermSize控制,而由系统的实际可用空间来控制。

堆内存调优

package pers.zhang;public class test {public static void main(String[] args) {//返回java虚拟机试图使用的最大内存量long maxMemory = Runtime.getRuntime().maxMemory();//返回Java虚拟机中的内存总量long totalMemory = Runtime.getRuntime().totalMemory();System.out.println("MAX_MEMORY=" + maxMemory + "(字节。)" + (maxMemory / (double)1024 / 1024 + "MB"));System.out.println("TOTAL_MEMORY=" + totalMemory + "(字节。)"  + (maxMemory / (double)1024 / 1024 + "MB"));}
}

发现默认的情况下分配的内存是总内存的『1/4』、而初始化的内存为『1/64』

java7输出:

java8输出:

OOM异常


JVM--堆内存调优相关推荐

  1. 压测工具Ab(ApacheBench)使用入门,JVM堆内存调优及GC优化

    压测工具AB Ab(ApacheBench) 测试工具是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用. ab 一般都是在Linux上用. 安装非常简单,只需 ...

  2. JVM内存调优原则及几种JVM内存调优方法

    JVM内存调优原则及几种JVM内存调优方法 1.堆大小设置. 2.回收器选择. 1.在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因 ...

  3. JVM实用参数(四)内存调优

    理想的情况下,一个Java程序使用JVM的默认设置也可以运行得很好,所以一般来说,没有必要设置任何JVM参数.然而,由于一些性能问题(很不幸的是,这些问题经常出现),一些相关的JVM参数知识会是我们工 ...

  4. JVM学习笔记(四)------内存调优

    首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提 ...

  5. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优...

    一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽 ...

  6. 22-09-02 西安 JVM 类加载器、栈、堆体系、堆参数调优、GC垃圾判定、垃圾回收算法、对象的finalize机制

    这篇文章不少地方都截图了宋红康老师的课件,实在他jvm这块讲的真好.连接地址如下: 尚硅谷宋红康JVM全套教程(详解java虚拟机)_哔哩哔哩_bilibili JVM入门 1.JVM结构图 JVM是 ...

  7. Tomcat 和 JVM 的性能调优总结

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/enKbC Tomcat性能调优 ...

  8. JVM解读-性能调优实例

    2019独角兽企业重金招聘Python工程师标准>>> JVM性能调优 1 堆设置调优 年轻代大小选择 响应时间优先的应用:尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选 ...

  9. Tomcat性能调优-JVM监控与调优

    参数设置 在Java虚拟机的参数中,有3种表示方法用"ps -ef |grep "java"命令,可以得到当前Java进程的所有启动参数和配置参数: 标准参数(-),所有 ...

最新文章

  1. 关于产品体验以及产品会被抄袭的思考
  2. Shell 脚本基础学习 (四)
  3. 机器学习从入门到精通系列之BP神经网络理论知识详解
  4. access 打印预览 代码_标签打印软件如何批量打印样品标签
  5. Window (Standard IO)
  6. 外卖和快递行业数据_外卖和快递骑手管理“上轨道”
  7. 《Systems Performance》阅读笔记及收获
  8. 如何在word中的方框里打钩
  9. 系统之美 作者:德内拉梅多斯
  10. windows计算机锁屏的快捷键是什么,电脑锁屏快捷键是什么
  11. 【专业数据】二.2020~2022年北京交通大学【信息与通信工程】专业复试线/分数线差/计划招生数/复试数/录取数/复试比例/录取率
  12. 信息论基础——信源熵及其性质研究
  13. 菜鸟窝BAT企业安卓学习笔记
  14. python计算量比指标
  15. 微信小程序获取图片的宽高,以及如何获取手机设备的宽高?
  16. 前端图片处理 - Photoshop压缩照片 / collagelt轻松拼接照片墙
  17. Kali持久加密USB的制作
  18. C语言 获取网页内容
  19. 零基础如何学网络安全?
  20. JPA和领域驱动的设计

热门文章

  1. Linux离线安装Awx
  2. antd angular <nz-checkbox> (ngModelChange)事件无法触发,应该是 (nzCheckedChange)
  3. C. Completing the Square
  4. 钢结构工程专业承包资质标准
  5. codevs【1152】细胞分裂
  6. CLM、CESM错误篇:ERROR: Need to provide valid mapping file between glc and lnd in xml variable ......
  7. 防雷工程和施工接地的综合解决方案
  8. React基础学习--新旧生命周期对比(二)
  9. 图片裁剪 cropper.js 上传组件封装 vue
  10. 工业相机控制-MFC