Java最全8年开发架构师浅析SpringBoot的JVM的内存占用与Docker-spring(2),spring并发+JVM调优把我直接问懵了

总结

如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了

《Java中高级核心知识全面解析》

小米商场项目实战,别再担心面试没有实战项目:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

JVM的非堆内存分为几个不同的区域。我们可以使用HotSpot VM的本机内存跟踪(NMT)来检查这些区域的内存使用情况。请注意,虽然NMT不跟踪所有原生本机Native内存使用情况(例如,它不跟踪第三方本机代码内存分配),但对于大类典型的Spring应用程序来说已经足够了。可以通过启动应用程序-XX:NativeMemoryTracking=summary然后使用jcmd VM.native_memory summary来显示内存使用情况摘要来使用NMT 。

让我们通过查看应用程序来说明NMT的使用,在这种情况下,我们的老朋友Petclinic。下面的饼图显示了当使用48MB最大堆(-Xmx48M)启动Petclinic时由NMT报告的JVM的内存使用量(减去其自身的开销):

正如您所看到的,非堆内存占绝大多数JVM的内存使用量,堆内存仅占总数的六分之一。在这种情况下,大约44MB(垃圾收集后立即使用33MB)。非堆内存使用总量为223MB。

本机Native内存区域


  • 压缩类空间:用于存储有关已加载的类的信息。受到约束MaxMetaspaceSize。已加载的类数的函数。

  • 线程:JVM中线程使用的内存。正在运行的线程数的函数。

  • 代码缓存:JIT用于存储其输出的内存。已加载的类数的函数。受到约束ReservedCodeCacheSize。可以通过调整JIT来减少,例如,禁用分层编译。

  • GC:存储GC使用的数据。根据使用的垃圾收集器而有所不同。

  • 符号:存储符号,如字段名称,方法签名和实习字符串。过多的符号内存使用情况可能表明字符串过于激进。

  • 内部:存储不适合任何其他区域的其他内部数据。

非堆内存与堆内存的不同


与堆内存相比,非堆内存在负载下不太可能发生变化。一旦应用程序加载了它将使用的所有类并且JIT完全预热,事情就会陷入稳定状态。要查看压缩类空间使用量的减少,加载类的类加载器需要进行垃圾回收。在将应用程序部署到servlet容器或应用程序服务器时,这种情况更常见 - 应用程序的类加载器将在取消部署应用程序时进行垃圾收集 - 但现代应用程序部署方法很少发生。

调整JVM的大小


配置JVM以有效利用给定数量的可用RAM并不容易。如果您启动JVM -Xmx16M并期望它最多可以使用16MB的RAM,那么您会感到非常惊讶。

调整JVM大小的一个有趣的方面是JIT的代码缓存。默认情况下,HotSpot JVM最多可使用240MB。如果代码缓存太小,JIT将耗尽空间来存储其输出,因此性能将受到影响。如果缓存太大,可能会浪费内存。在调整代码缓存大小时,查看应用程序内存使用情况及其性能的影响非常重要。

架构学习资料

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值