Linux内核虽然号称“不死族”,几乎不会崩溃或者死机,但是特殊情况下还是有一定几率会宕机的。因为Linux广泛用于生产环境,所以每一次宕机都会引起相当大的损失。
GlassFish社区实现了开源JavaEE5应用服务器,GlassFish是一款强健的商业兼容应用服务器,达到产品级质量可免费用于开发、部署和重新分发。
个人环境说明:JAVA
jdk1.6.0_20
IP地址:192.168.88.106
1,设置密码文件和权限
在jdk1.6.0_20\jre\lib\management中将jmxremote.password.template复制一份重命为
jmxremote.password。修改最后两行,将
#monitorRole
QED
#controlRole
R&D
前面的#号去掉。为什么后面解释。
然后修改jmxremote.password的文件权限为仅当前用户完全控制,所有者为当前用户,具体步骤如下:
Windows系统需要3个步骤:
在jmxremote.password文件上右键->属性,切换到安全选项卡。<XP系统可能看不到,请百度>
点“高级”按钮,d出“jmxremote.password的高级安全设置”窗口。
(1)删除所有用户对jmxremote.password文件的访问权限:
在“权限”选项卡中点“更改权限”,将“包括可从该对象的父项继承的权限”
复选框去掉,然后系统会d出一个“Windows安全”警告,选择“删除”按钮。
删除成功后,权限项目栏会变成:“所有组或用户均不具有访问此对象的权限。但是该对象的所有者可以分配权限。”
(2)指定当前登陆用户对该文件有完全控制权限
点“添加”按钮,再点“高级”按钮,再点“立即查找”,在搜索结果中找当前系统的登陆用户双击添加进来。
注意不要选择那些带S结尾的,那个表示组,只能选择用户。我的是Administrator
返回后点确定,然后在d出框中勾选“完全控制”。点确定返回刚开始的“jmxremote.password的高级安全设置”窗口。
(3)将所有者设置为当前系统的登陆用户
切换到所有者选项卡,点击“编辑”,双击选择当前系统的登陆用户,注意不要选择那些带S结尾的,那个表示组,只能选择用户。
最后一路确定。权限修改完毕。
Linux系统:
chmod
600 jmxremote.password
这个没试过,官方这么写的。
2,启动JMX服务端
下面这行命令我是在JDK的根目录执行的,
这里指定的端口号是10089,主机名称即当前计算机IP地址,不推荐设置成localhsot或者127.0.0.1,会导致在别的机子上连不上来。JAR包指定的是JDK自带的一个DEMO
java
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=10089
-Djava.rmi.server.hostname=192.168.88.106 -jar
demo/jfc/Java2D/Java2Demo.jar
3,启动JConsole
在JDK的bin目录执行jconsole.exe
选择远程进程,输入地址:
service:jmx:rmi:///jndi/rmi://192.168.88.106:10089/jmxrmi
也可以是
192.168.88.106:10089
用户名:controlRole
密码R&D
下面这个也可以,
用户名:monitorRole
密码QED
其实用的就是jmxremote.password文件里面写的用户名和密码,也可以添加几个用户的,
新添加的用户要到jdk1.6.0_20\jre\lib\management\jmxremote.access文件里面设置对应的权限。这个简单,
Ctrl+C
Ctrl+V就搞定。
转载自
feg545
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)