JVM内存观察
内存观察部分一
windows 查看运行Java程序实例
命令: jps
jmap
1. jmap -heap pid : 查看内存设置及使用情况
jmap -heap 16276
我主要想查看把400+条的数据字典数据加载到内存里面,和没加载前后对比。先看看加载进去的内存使用情况:
对应解释:

Heap Configuration: MinHeapFreeRatio = 0 //JVM最小空闲比率 可由-XX:MinHeapFreeRatio=<n>参数设置, jvm heap 在使用率小于 n 时 ,heap 进行收缩 MaxHeapFreeRatio = 100 //JVM最大空闲比率 可由-XX:MaxHeapFreeRatio=<n>参数设置, jvm heap 在使用率大于 n 时 ,heap 进行扩张 MaxHeapSize = 8568963072 (8172.0MB) //JVM堆的最大大小 可由-XX:MaxHeapSize=<n>参数设置 NewSize = 178782208 (170.5MB) //JVM新生代的默认大小 可由-XX:NewSize=<n>参数设置 MaxNewSize = 2856321024 (2724.0MB) //JVM新生代的最大大小 可由-XX:MaxNewSize=<n>参数设置 OldSize = 358088704 (341.5MB) //JVM老生代的默认大小 可由-XX:OldSize=<n>参数设置 NewRatio = 2 //新生代:老生代(的大小)=1:2 可由-XX:NewRatio=<n>参数指定New Generation与Old Generation heap size的比例。 SurvivorRatio = 8 //survivor:eden = 1:8,即survivor space是新生代大小的1/(8+2)[因为有两个survivor区域] 可由-XX:SurvivorRatio=<n>参数设置 MetaspaceSize = 21807104 (20.796875MB) //元空间的默认大小,超过此值就会触发Full GC 可由-XX:MetaspaceSize=<n>参数设置 CompressedClassSpaceSize = 1073741824 (1024.0MB) //类指针压缩空间的默认大小 可由-XX:CompressedClassSpaceSize=<n>参数设置 MaxMetaspaceSize = 17592186044415 MB //元空间的最大大小 可由-XX:MaxMetaspaceSize=<n>参数设置 G1HeapRegionSize = 0 (0.0MB) //使用G1垃圾收集器的时候,堆被分割的大小 可由-XX:G1HeapRegionSize=<n>参数设置 Heap Usage: PS Young Generation Eden Space: capacity = 454557696 (433.5MB) used = 446827288 (426.1277084350586MB) free = 7730408 (7.372291564941406MB) 98.2993560403826% used From Space: capacity = 22544384 (21.5MB) used = 17157592 (16.362754821777344MB) free = 5386792 (5.137245178222656MB) 76.10583638035973% used To Space: capacity = 27787264 (26.5MB) used = 0 (0.0MB) free = 27787264 (26.5MB) 0.0% used PS Old Generation capacity = 331874304 (316.5MB) used = 47505824 (45.305084228515625MB) free = 284368480 (271.1949157714844MB) 14.314402599846959% used 33231 interned Strings occupying 3973016 bytes. // 字符数占用内存情况
下面是没有加载数据字典的jvm内存情况:
可以看出:伊甸区的变化很大。98% -> 20%
----树梢尖上众山小
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述