jvm 优化与监控

自作多情 提交于 2019-12-30 17:41:40

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

 springboot 配置文件修改jvm参数 :

server:
  tomcat:
    min-spare-threads: 20
    max-threads: 100
  connection-timeout: 5000

 

这块对tomcat进行了一个优化配置,最大线程数是100,初始化线程是20,超时时间是5000ms

 

 

1.使用-server模式

 

设置JVM使用server模式。64位JDK默认启动该模式

 

java -server -jar demo-1.jar

 

 

2.指定堆参数

 

这个根据服务器的内存大小,来设置堆参数。

 

  • -Xms :设置Java堆栈的初始化大小

  • -Xmx :设置最大的java堆大小

java -server -Xms512m -Xmx768m  -jar demo-1.jar

 

设置初始化堆内存为512MB,最大为768MB。

 

3.远程Debug

 

在服务器上将启动参数修改为:

 

java -Djavax.net.debug=
ssl -Xdebug -Xnoagent -Djava.compiler=
NONE -Xrunjdwp:transport=
dt_socket,server=y,suspend=
n,address=8888 -jar demo-1.jar

 

这个时候服务端远程Debug模式开启,端口号为8888。

 

在IDEA中,点击Edit Configuration按钮。

 

 

出现弹窗,点击+按钮,找到Remote选项。

 

 

在【1】中填入Remote项目名称,在【2】中填IP地址和端口号,在【3】选择远程调试的项目module,配置完成后点击OK即可

 

如果碰到连接超时的情况,很有可能服务器的防火墙的问题,举例CentOs7,关闭防火墙

 

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

 

点击debug按钮,IDEA控制台打印信息:

JVM工具远程连接

1.查看hostname,首先使用

 

hostname -i


查看,服务器的hostname为127.0.0.1,这个是不对的,需要进行修改

 

2.修改hostname

 

修改/etc/hosts文件,将其第一行的“127.0.0.1 localhost.localdomain localhost”,修改为:“192.168.44.128 localhost.localdomain localhost”.“192.168.44.128”为实际的服务器的IP地

3.在服务器上输入hostname -i,查看实际设置的IP地址是否为你设置的 如不行重启linux

4.启动服务,参数为:

java -jar -Djava.rmi.server.hostname=xxx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=911 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false demo-1.jar

 

ip为xxx,端口为911

打开程序 新建连接

输入启动ip 端口

jmc 视图

 

jvisualvm视图

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!