文章目录
- 前言
- 一、新生代和老年代比例
- 二、jdk8默认垃圾收集器
- 三、jvm 参数设置
- 四、jvm 日志分析
- 五、内存的使用情况分析
- 1. jmap 查看
- 2. 使用工具分析
- 2.1 mat
- 六、cpu 使用率过高分析
- 七、记一次内存居高不下的原因
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、新生代和老年代比例
堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。
默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio=2 来指定,就代表老年代和新生代的比例为2:1 ),即:新生代 ( Young ) = 1/3 的堆空间大小。
参考
二、jdk8默认垃圾收集器
jdk8 默认的垃圾收集器:
三、jvm 参数设置
四、jvm 日志分析
五、内存的使用情况分析
1. jmap 查看
参考详细参看深入理解java虚拟机的第四章jmap命令
jhat 是JDK自带的用于分析JVM Heap Dump文件的工具
命令:jhat [dump文件名路径]
然后是用http://localhost:7000 即可
2. 使用工具分析
2.1 mat
如果文件名后缀是.dump,需要先改成.hprof,然后导入。
详细分析参考1详细分析参考2
六、cpu 使用率过高分析
七、记一次内存居高不下的原因
现象:
发现有一个线上服务,jvm启动时没有指定 xms,xmx,发现内存会一直飙升。然后维持在一个较高的位置居高不下。
服务部署在docker,用的8核16G。
jvm启动设置的最大内存为 13108M
而目前查看jvm已经申请到了最大内存
之后内存居高不下,因为申请了最大堆内存后一直没有再还给操作系统。
参考:
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。