Win10-Jvm调优之工具基本配置、使用(一)
序言
本文主要探讨在Win下面关于JDK调试工具的配置和使用为主题。
关于Jvm调优工具的配置与使用共分为2篇,本文为第一篇Tomcat已startup模式进行运行;第二篇Tomcat以服务方式运行时详见[第二篇]。
一: 基本环境
jdk :1.8.0_161
Tomcat :8.5.31
IDE :2018.1.2
二:基本配置
2.1 tomcat 基本配置
鉴于本次是在Win10下面进行配置测试,tomcat采用免安装版(已注册服务模式运行,前提已关闭自动运行)。
本文通过startup启动tomcat进行测试,基本过程:参数配置将在环境变量中进行配置,以避免直接修改tomcat文件。
鉴于部分同学熟悉Linux不熟悉Win因此在此处把环境修改变量位置贴出来:
(最终配置如截图)
2.3Tomcat环境变量配置
Java_opt1
-XX:+UseG1GC -XX:MaxGCPauseMillis=300 -XX:ParallelGCThreads=4 -XX:ConcGCThreads=4 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError
Java_opt2
-Xloggc:D:\tomcat_jvm_log\tomcat_gc.log -XX:HeapDumpPath=D:\tomcat_jvm_log\heapdump.hprof
Java_opt3
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Java_opt4
-Djava.rmi.server.hostname=192.168.101.85 -Dcom.sun.management.jmxremote.port=9999
Java_opt5(带密码时)
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
Java_OPTS(无密码时)
%Java_opt1% %Java_opt2% %Java_opt3% %Java_opt4%
Java_OPTS(带密码时)
%Java_opt1% %Java_opt2% %Java_opt3% %Java_opt4% %Java_opt5%
注意事项:
红色位置参数值请改为你本地配置,端口请在防火墙放行。
-Dcom.sun.management.jmxremote.authenticate=false表示在jvisualvm中通过远程连接添加远程监控的时候不需要输入认证账号和密码;true表示需要输入账号和密码,当需要账号和密码时请完成以下操作:【把JAVA_HOME/jre/lib/management下面的jmxremote.access和jmxremote.password拷贝到Tomcat的conf目录下】;关于jmxremote.access、jmxremote.password的配置详见2.5。
保存配置
2.4Tomcat-cataline.bat文件配置
第244行修改为:set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxNewSize=256m
注意:-XX:PermSize=512M -XX:MaxPermSize=512m 在当前Tomcat版本中不被支持,若有配置则需要移除,PermSize换为参数名:MetaspaceSize。
2.5JDK远程连接支持
在(需要开启远程监控的机子)JDK安装目录下面 配置jmx
cd %JAVA_HOME%/jre/lib/management
复制 jmxremote.password.template 粘贴为 jmxremote.password
编辑器打开 jmxremote.password文件,在文件底部取消以下两行注释(删除#符号)(慎重操作)
monitorRole QED
controlRole R&D
编辑器打开jmxremote.access文件把以下两行注释取消(慎重操作)
monitorRole readonly
controlRole readwrite \
至此已完成基本配置。
三:监控工具
3.1关闭CMD并重新打开(务必)
在以startup命令启动Tomcat,以jvisualvm命令启动VisualVM。
3.2垃圾回收日志
本示例存储在D:\tomcat_jvm_log\目录下面,以本次运行为例截图
GC收集日志如下:
3.3启动监测应用目标
以cmd 模式通过startup模式运行tomcat;如果测试IDEA,则启动IDEA,调试模式运行原代码
3.4启动JDK监测工具
以cmd模式运行 Jconsole命令回车打开Jconsole监控工具开始监控,截图瑞安:
以cmd模式运行jvisualvm命令回车打开Java VisualVM工具开始监控,截图如下:
3.5Jconsole本地监控查看
以XXX应用为例
其他自行研究查看
3.6jvisualvm本地监控查看
3.7监控运行验证
在截图中可以看到红框内得配置参数与前面得配置完全匹配,意味着配置成功,Tomcat已处于监控中。
3.8监控工具详解
https://blog.csdn.net/moneyshi/article/details/81511687
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2017-04-25 mvc.global.asax事件