JVM
思灵月
从小鲜肉到柔腻大叔,从hello world 到 connect timeout
展开
-
生产环境OOM问题2
近日测试时测试服务器总是爆出OOM: java head space,于是通过JVisualVM查看内存回收情况发现FullGC超频繁,垃圾回收不了 通过jmap取到内存数据 jmap -dump:format=b,file=heap.bin 进程号 用MemoryAnalyzer打开head.bin进行分析 可以看到com.mysql.jdbc.JDBC42ResultSet这个类产生的对象数据占了几乎全部 。 打开dominator_tree,,默认按数据量占比倒序排列,第一个就是我们要看的,于是原创 2020-09-29 16:32:32 · 393 阅读 · 0 评论 -
生产环境OOM问题
这里写自定义目录标题 问题描述:产生如下异常 java.lang.OutOfMemoryError: GC overhead limit exceeded Sun 官方对此的定义:超过98%的时间用来做GC并且回收了不到2%的堆内存时会抛出此异常。 【现象】如下图所示 打开Visual GC 查看JVM各个内存区的占用情况 Eden区的GC频率非常高,导致两个S区切换频率也高,Old区已经占满并且频繁GC,GC时间还特别长。 监视中可以看到,整体内存的使用量是高频率波动上涨趋势。 问题排查步骤: 1原创 2020-09-29 16:18:44 · 779 阅读 · 0 评论 -
HotSpot VM的代码目录结构
Oracle JDK 6/Oracle JDK 7/OpenJDK 6/OpenJDK 7里的HotSpot VM基本上目录结构都是一样的。转载 2016-06-02 11:51:34 · 715 阅读 · 0 评论 -
JVM读书笔记与总结之对象的访问定位
JVM读书笔记与总结之对象的访问定位摘自《深入理解Java虚拟机》一书转载 2016-06-12 15:33:34 · 386 阅读 · 0 评论 -
Jvm内存分配概述与相关配置详解
程序计数器是一块较小的内存空间,可以看成是当前线程所执行的字节码的行数指示器。如果线程正在执行一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行一个native方法,这个计数器就为空(Undefined)。此内存区域是唯一一个Java虚拟机规范中没有规定任何OurOfMemberError的区域。Java虚拟机栈,位虚拟机执行Java方法服务,线程私有的,生命周期与线原创 2016-06-16 11:44:14 · 734 阅读 · 0 评论 -
JVM命令使用一:内存查看
1.整体情况查看(任务管理器):top 第三行就是CPU的使用情况了,如下: %Cpu(s)us用户空间占用CPU百分比sy内核空间占用CPU百分比ni用户进程空间内改变过优先级的进程占用CPU百分比id空闲CPU百分比wa等待输入输出的CPU时间百分比hiCPU服务于硬件中断所耗费的时间总额siCPU服务软中断所耗费的时间总额stSteal Time top -p pid top -u user...原创 2019-04-23 10:40:48 · 591 阅读 · 0 评论