首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >005. 深入JVM学习—Java堆内存参数调整

005. 深入JVM学习—Java堆内存参数调整

作者头像
山海散人
发布2021-03-03 11:25:42
发布2021-03-03 11:25:42
8710
举报
文章被收录于专栏:山海散人技术山海散人技术

1. JVM整体内存调整图解(调优关键)


  1. 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张的时候,再将内存空间释放。
  2. 由于伸缩区的分配与释放消耗资源时间,所以目标为使伸缩区为0。

2. 堆内存空间调整参数


No.

参数名称

描述

01

-Xms

设置初始分配大小,默认为物理内存的 1/64

02

-Xmx

最大分配内存,默认为物理内存的 1/4

03

-XX:+PrintGCDetails

输出详细的GC处理日志

04

-XX:+PrintGCTimeStamps

输出GC的时间戳信息

05

-XX:+PrintGCDateStamps

输出GC时间戳信息(以日期的形式,如2018-08-15T16:53:15.155+0800)

06

-XX:+PrintHeapAtGC

在GC进行处理的前后打印堆内存信息

07

-Xloggc:保存路径

设置日志信息保存文件

  • 在整个堆内存的调整策略之中,有经验的人都只会调整两个参数:-Xmx、-Xms。
  • 当默认内存大小等于最大内存大小,伸缩区就会为0。

3. 范例


  • 如果想要取得内存的整体信息直接利用Runtime类即可。
1. 打印最大内存和可用内存
2. 手动设置最大内存和可用内存
3. 观察GC的详细日志
4. 测试GC处理

4. 内存分析工具


  • 如果开发之中发现程序执行速度变慢,那么就需要对程序运行的内存进行分析。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. JVM整体内存调整图解(调优关键)
  • 2. 堆内存空间调整参数
  • 3. 范例
    • 1. 打印最大内存和可用内存
    • 2. 手动设置最大内存和可用内存
    • 3. 观察GC的详细日志
    • 4. 测试GC处理
  • 4. 内存分析工具
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档