zoukankan      html  css  js  c++  java
  • JCM参数配置及查看deap

    JVM参数配置和内存查看

    一、参数配置的方式

    示例tomcat版本为:apache-tomcat-7.0.69

    1.     catalina.bat

    更改%CATALINA_HOME%/bin下的catalina.bat(catalina.sh)文件,在开头加入一行:

    set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024M -Xmx1024M -Xmn256M -XX:PermSize=256M -XX:MaxPermSize=256M -Xss256K

    对配置文件有侵入,不建议使用这种方式。

    2.     setenv.bat

    在%CATALINA_HOME%/bin下增加setenv.bat(setenv.sh)文件,文件内容填写:

    set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024M -Xmx1024M -Xmn256M -XX:PermSize=256M -XX:MaxPermSize=256M -Xss256K

    set JAVA_OPTS=%JAVA_OPTS% -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC

    配置文件Readme中建议的方式,推荐使用。如果通过startup.bat(sh)启动tomcat,配置生效;但如果通过tomcat7.exe或者tomcat7w.exe启动tomcat,这里的配置不生效。

    3.     tomcat7w.exe

    更改tomcat7w.exe文件java标签页下的Java Options,加入相应的配置项:

    -Xms1024M

    -Xmx1024M

    -Xmn256M

    -XX:PermSize=256M

    -XX:MaxPermSize=256M

    -Xss256K

    -XX:+DisableExplicitGC

    -XX:SurvivorRatio=1

    -XX:+UseConcMarkSweepGC

    -XX:+UseParNewGC

    如果加入了-Xms、-Xmx、-Xss这三个参数,下面的内存池初始值和最大值以及堆栈大小就不要填写,如果没加入这三个参数就在界面上填写对应的参数。最后不要有空行,否则启动参数将多出一个”exit”。

    二、检查是否生效

    1.     jcmd –l

    可以看出,PID为10740的进程为jcmd命令本身,PID为20488的进程为另一个正在运行的JVM。

    2.     jcmd pid VM.flags

    可以看出JVM启动时的参数。

    3.     jinfo –flags pid

    4.  jvisualvm.exe

     

    选中部分就是JVM的启动参数,建议使用这个方式查看。

    三、内存分配和使用情况查看

    1.     内存模型

     

    2.     jmap –heap pid

    可以看出内存的分配情况以及参数之间的关系:

    MaxNewSize=EdenSpace+From Space+To Space

    NewRatio=OldSize/MaxNewSize=2

    SurvivorRatio=MaxNewSize/From Space

    一般FromSpace=To Space,但如果不能取整也会有较小的差异

    堆的使用情况:

    新生代:

    EdenSpace+From Space+To Space = 256M

    老生代:

            Concurrent mark-sweep generation = 768M

           我的配置中使用了CMS,所以显示与默认的不一样。

    3. Tomcat自带的监控页面

     

    Total memory = CMSOld Gen + ParEden Space + ParSurvivor Space

                          = 768.00 MB +85.37 MB +85.31 MB =938.68MB

    从Used列能看出内存的各个内存区域的使用率。

  • 相关阅读:
    .Proto 文件转换成.cs文件
    C# 委托和事件
    C# 对word (03、07)的相关操作
    程序中记录日志的封装类
    压缩文件程.ZIP
    xml和对象直接的序列化和反序列化
    C#判断两个日期是否在同一周,某日期是本月的第几周
    vs2008 C# 单元测试
    解压缩.zip文件
    记录一次曲折的维护-重构过程
  • 原文地址:https://www.cnblogs.com/Darrenblog/p/8338231.html
Copyright © 2011-2022 走看看