jvm
myqingxin
为了成吨的输出
展开
-
OOM的原理和解决方案
OOM的原理和解决方案 一、metaspace区内存溢出导致的oom Metaspace区域一般很少发生内存溢出,如果发生,一般是下面两个原因 原因: 不懂的人,在线上系统对Metaspace区域直接使用默认参数,根本不设置大小,默认大小才几十MB,对于一些大的系统来说是不够的 系统代码里使用很多cglib之类的技术动态生成一些类,一旦代码中没有控制好,很容易把Metaspace给塞满,引发内存溢出 解决方案: 对上面第一种原因的方案:给上线系统设置对应的Metaspace大小,推荐值是512MB,一原创 2020-07-04 20:13:26 · 819 阅读 · 0 评论 -
JVM线上处理OOM工具jps、jstat、jmap、jhat
JVM线上处理OOM工具jps、jstat、jmap、jhat 命令 描述 jps 找出线程 jps –l 输出主类或者jar的完全路径名 jps –v 输出jvm参数 jstat -gc PID 找到linux服务器上的java进程PID(主要就用这个) jstat的其他命令 jstat -gccapacity PID 堆内存分析 jstat -gcnew PID 年轻代GC分析,这里的TT和MTT可以看到对象在年轻代存活的年龄和存活的最大年龄 jst原创 2020-07-04 20:10:29 · 364 阅读 · 0 评论 -
JVM调优参数
JVM调优参数 ParNew+CMS垃圾回收器参数 参数 描述 -Xms-XX:InitialHeapSize java堆内存大小 -Xmx-XX:MaxHeapSize java堆内存最大大小 -Xmn java堆内存中新生代大小,扣除新生代剩下的就是老年代内存大小 -XX:NewSize 初始新生代大小 -XX:MaxNewSize 最大新生代大小 -XX:PermSize-XX:MetaspaceSize 永久代大小 -XX:MaxPermSize-XX:Max原创 2020-07-04 20:02:13 · 161 阅读 · 0 评论 -
JVM调优模板
linux启动jar项目并设置参数 nohup java -server -XX:NewSize=100M -XX:MaxNewSize=100M -XX:InitialHeapSize=200M -XX:MaxHeapSize=200M -XX:SurvivorRatio=8 -XX:PretenureSizeThreshold=10M -XX:MaxTenuringThreshold=15 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintGCDeta原创 2020-07-04 18:57:57 · 227 阅读 · 0 评论