• JVM 常用配置


    JVM的配置,最常用的两个配置就是:
    -Xms512m

    –Xmx1024m

    -Xms设置JVM的初始化内存大小,-Xmx为最大内存大小,当突破这个值,将会报内存溢出,导致的原因有很多,主要是虚拟机的回收问题以及程序设计上的内

    存泄露问题;由于在超过-Xms时会产生页面申请的开销,所以一般很多应用服务器会推荐-Xms和-Xmx是等值的;最大值一般不保持在主机内存的75%的内存

    左右(多个SERVER是加起来的内存),当JVM绝大部分时间处于回收状态,并且内存长时间处于非常长少的状态就会报:java.lang.OutOfMemoryError:Java

    heap space的错误。


    JVM内存配置分两大类:

    1、-X开头的参数信息:一般每个版本变化不大。

    2、-XX开头的参数信息:版本升级变化较大,如果没有太大必要保持默认即可

    3、另外还有一个特殊的选项就是-server还是-client,他们在默认配置内存上有一些细微的区别,直接用JDK运行程序默认是-client,应用服务器生产模式一般

    只会用-server。


    1、-X开头的常用配置信息:

    -Xnoclassgc 禁用垃圾回收,一般不适用这个参数

    -Xincgc 启用增量垃圾回收

    -Xmn1024K Eden区初始化JAVA堆的尺寸,默认值640K

    -Xms512m JAVA堆初始化尺寸,默认是32M

    -Xmx512m JAVA堆最大尺寸,默认64M,一般不超过2G,在64位机上,使用64位的JVM,需要操作系统进行unlimited方可设置到2G以上。

    2、-XX开头常用内存配置信息:

    -XX:-DisableExplicitGC 忽略手动调用GC的代码,如:System.gc(),将-DisableExplicitGC, 改成+DisableExplicitGC即为启用,默认为启用

    -XX:+UseParallelGC 启用并行回收,多CPU有效,默认是不启用。

    -XX:+UseParNewGC 启用并行收集(不是回收),也是多CPU有效。

    -XX:NewSize=128m 新域的初始化尺寸。

    -XX:MaxNewSize=128m 新创建的对象都是在Eden中,在-client中默认为640K,而-server中默认是2M

    -XX:PerSize=64m 设置永久域的初始化大小,在WEBLOGIC中默认的尺寸应该是48M,一般够用,可以根据实际情况作相应条调整

    -XX:MaxPerSize=64m 设置永久域的最大尺寸

    另外还可以设置按照区域的比例进行设置操作,以及设置线程、缓存、页面大小等等操作。

    3、-XX开头的几个监控信息:
    -XX:+GITime 显示有多少时间花在编译代码代码上,这部分为运行时编译为对应机器码时间

    -XX:+PrintGC 打印垃圾回收的基本信息

    -XX:+PrintGCTimeStamps 打印垃圾回收时间戳信息

    -XX:+PrintGCDetails 打印垃圾回收的详细信息

    -XX:+TraceClassLoading 跟踪类的加载

    -XX:+TraceClassResolution 跟踪常量池

    -XX:+TraceClassUnLoading 跟踪类卸载

     

  • 相关阅读:
    Loki 初体验
    柠檬研究院及第一期活动预告
    Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控
    聊聊AspectCore动态代理中的拦截器
    使用AspectCore动态代理
    AspectCore中的IoC容器和依赖注入
    AspectCore.Extension.Reflection : .NET Core反射扩展库
    Asp.Net Core轻量级Aop解决方案:AspectCore
    [精品书单] C#/.NET 学习之路——从入门到放弃
    创建vue项目
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/4075296.html
Copyright © 2020-2023  润新知