zoukankan      html  css  js  c++  java
  • JVM参数配置模板

    1。解决问题的初步思路

    发生了OOM,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收的对象,最终导致内存溢出。

    2。保存现场

    在OOM时候保存一份内存快照,事后分析内存快照,检查那些对象占用了内存无法释放。

    -XX:+HeapDumpOnOutOfMemoryError

    -XX:HeapDumpPath=/user/local/oom

    第一参数意思在OOM的时候自动dump内存快照出来

    第二参数是把内存快照放到哪去

    3。JVM参数模板---4核8G

    -Xms4096M              初始堆大小

    -Xmx4096M              堆最大值

    -Xmn3072M             堆年轻代大小

    -Xss1M                       设置线程栈大小

    -XX:MetaspaceSize=256M               metaspace的大小

    -XX:MaxMetaspaceSize=256M      metaspace的最大大小

    -XX:+UseParNewGC

    -XX:+UseConcMarkSweepGC         

    -XX:CMSInitiatingOccupancyFaction=92   CMS垃圾收集器,当老年代达到92%时,触发CMS垃圾回收

    -XX:+UseCMSCompactAtFullCollection      打开对老年代的压缩,可能会影响性能,但可以消除堆碎片

    -XX:CMSFullGCsBeforeCompaction=0        每次CMS GC后对堆空间进行压缩、整理

    -XX:+CMSParallelInitiaMarkEnabled         初始标记并行执行

    -XX:+CMSScavengeBeforeRemark        在Full GC之前触发一次Young GC

    -XX:+DisableExplicitGC       禁止使用System.gc

    -XX:+PringGCDetails     开启GC日志                               

    -Xloggc:gc.log               日志文件输出路径

    -XX:+HeapDumpOnOutOfMemoryError

    -XX:HeapDumpPath=/user/local/oom

    参考自:狸猫技术窝

  • 相关阅读:
    linq的多表查询
    markdown语法
    遍历Hashtable、IDictionary、Dictionary<string, string>
    DOS修改文件夹权限
    kangle 3.2.0 发布,国产开源web服务器
    nat上传文件到google
    黄聪:C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解
    UltiDev Web Server Pro
    vs2010 命令行下用 msbuild 发布web站点
    asp.net重启网站
  • 原文地址:https://www.cnblogs.com/technologykai/p/12857934.html
Copyright © 2011-2022 走看看