JAVA 容器配置 JVM 监控
目前世面上较流行的JAVA容器工具有:tomcat,jboss,weblogic
在日常工作中,经常会遇到开发需要查看JVM相关信息,这时就需要开启JVM。
一、tomcat
1 修改jdk认证配置文件
文件位于jdk/jre/lib/management/目录下,该目录下有
- jmxremote.access //配置用户认证相应权限
- jxmremote.password //配置认证用户名和密码
- management.properties //可配置相应端口,认证。此文件中的配置是使用此jdk相关JAVA程序,建议单独配置在相应的JAVA容器内,使每个JVM监控分隔开来。
2 tomcat中添加相应的监听端口和监听ip
注意:端口不要冲突
文件: tomcat/bin/catalina.sh //在文件前部添加下面内容
~]# vim /tomcat/bin/caclina.sh
JAVA_HOME=/iyunwen/server/jdk //配置每个tomcat个的JAVA_HOME
JAVA_OPTS="-server -Xms3096m -Xmx4096m -XX:PermSize=256M -XX:MaxNewSize=128m -XX:MaxPermSize=512m -Djava.awt.headless=true -Dfile.encoding=UTF-8" //配置tomcat内存大小
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=172.18.35.189 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9002 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
// 监听的IP地址和端口,并开启认证
3 重启tomcat服务后,即可通过ip地址和端口进行监听JVM相关信息了
二、jboss
1 修改jdk认证配置文件,同tomcat配置jdk
2 添加相应node中的监听IP地址,端口。
jboss的相应配置文件位于node的run.conf文件
~]# vim /jboss/jboss-eap-4.3/jboss-as/server/node7081/run.conf
if [ "x$JAVA_OPTS" = "x" ]; then
#JAVA_OPTS="-Xms512m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true"
JAVA_OPTS="-Xms512m -Xmx6144m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -Dcom.sun.management.jmxremote.port=19910 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
fi
//这里修改了内存分配和JVM监控相关参数
3 重启jboss,并使用jvm查看工具即可
##三、weblogic
1 登陆was控制台 http://192.168.1.137:9060/admin
2 在 Generic JVM arguments 中添加JVM监控参数
Servers -> Server Types -> WebSphere application servers -> server1 -> Java and Process Management -> Process definition -> Java Virtual Machine
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.1.130 //服务端的IP地址,不写可能会出现无法连接
添加完成后 -> apply -> save
3 修改weblogic中jdk相关文件
添加相应端口和认证
~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/management.properties //文件末尾添加如下配置。如不知道文件在哪的话,可以查看相关java进行中使用的jdk路径中查找
com.sun.management.jmxremote.port=9002 //监听端口
com.sun.management.jmxremote.authenticate=true //开启认证
com.sun.management.jmxremote.ssl=false //ssl关闭
修改认证中的用户名和密码
~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/jmxremote.password.template //修改文件的帐号 密码
monitorRole Java_Remote_Monitor
controlRole Java_Remote_Monitor
查看相关帐号权限
~]# vim /opt/IBM/WebSphere/AppServer/java/jre/lib/management/jmxremote.access
monitorRole readonly //只读
controlRole readwrite create javax.management.monitor.*,javax.management.timer.* unregister //可操作
最后重启weblogic,并检测相应端口是否可用
~]# ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9 //这种操作只有确定这台机器中只有这一个java程序时才能操作,否则就请仔细重启相关服务
重启服务
~]# /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1
查看端口
~]# netstat -ano | grep 19002 //端口正常启用
tcp 0 0 :::19002 :::* LISTEN off (0.00/0/0)
##使用Java VisualVM 监听服务

JAVA 容器配置 JVM 监控的更多相关文章
- Zabbix-(五)监控Docker容器与自定义jvm监控项
Zabbix-(五)监控Docker容器与自定义jvm监控项 一.前言 前文中讲述了Zabbix对服务器硬件方面的监控功能,本文将讲述利用Zabbix监控Docker容器中的Java Web服务,并通 ...
- Java容器化参数配置最佳实践
Java是以VM为基础的,而云原生讲究的就是Native,天然的矛盾,虽然Quarkus是为GraalVM和HotSpot量身定制的K8s Native Java框架,生态原因切换成本太高,这种矛盾体 ...
- Java系列笔记(4) - JVM监控与调优
目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...
- [java] JVM监控与调优
原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分 ...
- 深入理解java:1.3.2 JVM监控与调优
学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之. 本篇,来看看[ 如何监控和优化GC机制.] 通过学习,我觉得JVM监控与调优,主要在3个着眼点上: 1,如何配置 ...
- Java系列笔记(4) - JVM监控与调优【转】
Java系列笔记(4) - JVM监控与调优[转] 目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在 ...
- 【java编程】使用System.getProperty方法,如何配置JVM系统属性
转载:https://www.cnblogs.com/acm-bingzi/p/6673823.html很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty(" ...
- Spring核心技术(十二)——基于Java的容器配置(二)
使用@Configuration注解 @Configuration注解是一个类级别的注解,表明该对象是用来指定Bean的定义的.@Configuration注解的类通过@Bean注解的方法来声明Bea ...
- Spring核心技术(十一)——基于Java的容器配置(一)
基本概念: @Bean和@Configuration Spring中新的基于Java的配置的核心就是支持@Configuration注解的类以及@Bean注解的方法. @Bean注解用来表示一个方法会 ...
随机推荐
- CSS继承控制:inherit、initial和unset
CSS里有三种常用的属性值继承方式:inherit,initial和unset.我们用一个简单的例子来演示一下: <ul style="color: green;"> ...
- Pycharm2018中DataBase的使用
1.点击右侧边栏的DataBase,在出现的Database窗口下点击绿色小加号,选择Data Source,选择需要的数据库类型,此处选择Sqlite 2.配置数据库连接信息 3.选择schema, ...
- webStrom中React语法提示,React语法报错处理
1,webStrom中React语法报错 ①, 取消Power Save Mode的勾选 File——Power Save Mode ②,webstorm开发react-native智能提示 随便在一 ...
- [转帖]教你如何破解IC卡的校验值
教你如何破解IC卡的校验值 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin ...
- Centos7下JDK1.8的安装
1.下载并上传并解压安装包 下载安装包上传到/usr/local目录 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...
- 1. Spark GraphX概述
1.1 什么是Spark GraphX Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求.那么什么是图 ...
- 【转】ISE——完整工程的建立
FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xil ...
- golang 之 go-micro
在安装之前首先需要对go-micro有一定的了解 https://micro.mu/docs/cn/ go-micro中文文档 https://juejin.im/post/5cebafe6f265 ...
- Python 读取excel指定的列
一.摘要 在这篇文章中: https://www.cnblogs.com/xiao987334176/p/9330368.html#autoid-4-5-2 介绍了使用 xlrd 模块,读取指定坐标的 ...
- emmet html缩写
HTML缩写 Emmet使用类似于CSS选择器的语法来描述元素在生成的树中的位置和元素的属性. 元素 您可以使用元素的名字,如div或p以生成 HTML标签. Emmet没有一组预定义的可用标签名称, ...