博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JCM参数配置及查看deap
阅读量:6196 次
发布时间:2019-06-21

本文共 1679 字,大约阅读时间需要 5 分钟。

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列能看出内存的各个内存区域的使用率。

转载于:https://www.cnblogs.com/Darrenblog/p/8338231.html

你可能感兴趣的文章
Unity3d修炼之路:游戏开发中,3d数学知识的练习【1】(不断更新.......)
查看>>
树莓派进阶之路 (015) - 树莓派使用DS18B20模块测量温度
查看>>
Android HandlerThread 源代码分析
查看>>
eslint的安装与使用
查看>>
[React] Make Controlled React Components with Control Props
查看>>
几个性能测试工具
查看>>
1.移植uboot-分析uboot启动流程(详解)
查看>>
011-spring cloud gateway-使用
查看>>
纯css3云彩动画效果
查看>>
别过来,过来我就撕票了!
查看>>
WPF手绘进度条
查看>>
python sys.stdin.readline & sys.stdin.readlines() test
查看>>
敏捷之道Scrum篇
查看>>
微软的IE中调试JavaScript的工具下载链接
查看>>
设计思维与协作文化
查看>>
虚函数和多态
查看>>
POJ-1011 Sticks
查看>>
Linux系统的启动过程(转)
查看>>
Visual Studio添加dll程序集引用操作步骤
查看>>
Linux系统VNC配置实践总结
查看>>