`
slippy
  • 浏览: 33723 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jconsole 使用过程中的问题及解决办法

阅读更多

作者:小强

MSN:blood1949@msn.com

本人为作者原创,若转贴,请保留作者署名,谢谢!


1. 必须限制口令文件读取访问 错误.

A. 错误描述: 在配置好JVM启动参数后, 启动RESIN, 过程中发生错误,无法正常启动.

1)错误信息如下:

查看更多精彩图片

错误: 必须限制口令文件读取访问: E:\Program Files\Java\jdk1.5.0_15\jre\lib\manage
ent\jmxremote.password

2) 在resin.conf 中的JMX配置信息如下:

      <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.port=1090</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
        <jvm-arg>-Dcom.sun.management.jmxremote.access.file=E:\Program Files\Java\jdk1.5.0_15\jre\lib\management\jmxremote.access</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.authenticate=true</jvm-arg>

 

 

 这里没有添加[com.sun.management.jmxremote.password.file=pwFilePath] 参数,因为

 pwFilePath系统默认的是JAVA_HOME/jre/lib/management/jmxremote.password , 这个例子中密码文件正是默认的文件.

3)运行环境.

   app_server:  resin3.1.5

   op : windows xp

   jdk : jdk1.5.0.15

   apache : apache  2.2.8

B.错误原因分析:

由于密码文件所属用户权限没有进行设置,应该设置为只有owner才可读,当然这个用户也必须是启动应用服务器(RESIN, 或其他)的用户。 

C.错误解决办法:

设置文件读改权限所属用户, 就是文件的拥有者. 在WINDOWS操作系统中,需要文件所在的硬盘分区是NTFS,才能进行安全设置,分配读取用户.

 查看更多精彩图片

修改提示信息:
       “安全”选项卡是NTFS分区上特有的,Windows通过“安全”选项卡中设定的ACL(访问控制列表)来进行详细的文件访问权限控制。对于Windows XP系统,为了适应家庭用户娱乐的需要,Microsoft推出了一种新的文件共享方式,即“简单文件共享”(参见http://navicy.cnblogs.com/archive/2005/10/17/256765.html)。对于开启了“简单文件共享”的机器,其文件或文件夹的“属性”窗口中是没有“安全”选项卡的,而Windows XP安装好后默认“简单文件共享”功能是开启的。
        要关闭“简单文件共享”功能,可使用以下方法:打开“控制面板”—“文件夹选项”,找到“查看”选项卡,在下面取消选择“使用简单文件共享(推荐)”后即可开启“安全”选项功能。 )

 

D.验证是否成功

1)输入错误的用户名和密码,如果成功出现以下提示,证明你已经成功设置好JCONSLE的安全登陆属性.

查看更多精彩图片



2)输入正确的用户名密码,可以正确连接Jconsole .

查看更多精彩图片

-----------------------------------------------------------------------------------------------------

2. JCONSOLE无法连接远程服务器

A. 错误描述: 用Jconsole 连接远程服务器时, IP地址和port都输入正确的情况下,仍然是连接失败.

 1)  在服务器端用tcpflow 截获网络传输包,内容如下:

查看更多精彩图片



查看更多精彩图片

2)resin 的jvm参数配置:

      <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.port=9889</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.authenticate=false</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>

 

3)运行环境:

    op_system: Linux version 2.6.9-5

    JDK: jdk1.5.0.15

    app_server : apache 2.2.8 , resin3.1.5

B.错误原因分析:

通过tcpflow 截获网络数据包,查找原因,由于内容是二进制,不能正常查看错误信息, 但内容中包含了127.0.0.1的信息, 在网上搜了一下找到了一篇有关文章谈到这个问题,是服务器端解释机器名的问题,如果服务器端hostname -i被定向到127.0.0.1则会出现连接失败的问题。

查看更多精彩图片

JCONSOLE连接上监控的进程,从监控进程下载了RMI远程调用的RemoteStub,访问服务器的进程,服务器端的地址可能是通过hostname -i 命令或者读取/etc/hosts 文件来获得的.

这篇文章链接如下:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209663

 

C.错误解决办法:

修改/etc/hosts文件,使hostname -i 指向正确的IP.

[root@localhost tmp] # vi /etc/hosts

把文件内容修改为:

# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1              localhost localhost.localdomain localhost
202.33.86.27(服务器真实IP)           localhost localhost.localdomain localhost

注意:修改后,必须重启应用服务器才能生效!

D.验证是否成功

1)输入正确的IP地址和端口号,如果成功出现以下提示,表明你已经成功用jconsole 监控服务器的JVM运行情况了.
 查看更多精彩图片

分享到:
评论

相关推荐

    jconsole.jar下载

    本文将详细阐述jconsole.jar的功能、使用方法以及它在Java应用监控中的重要性。 一、jconsole.jar概述 jconsole.jar是Java SDK自带的一款图形化监控工具,它基于JMX(Java Management Extensions)技术,能够对...

    xmanage远程打开jconsole

    在这种情况下,我们可以尝试使用xmanage来实现远程打开Jconsole,这种方法往往能解决不少问题。接下来,我们将详细介绍如何使用xmanage来远程开启Jconsole,以及其背后的工作原理。 首先,我们需要确保已经安装了...

    JConsole工具使用

    **JConsole工具使用详解** JConsole是Java平台自带的一个强大的监控和管理工具,它能够帮助开发者和运维人员...通过熟练掌握JConsole的使用,开发者可以更加高效地诊断和解决应用程序中出现的各种问题,提高工作效率。

    公司内部培训jconsole

    Jconsole 主要用于监控 Java 应用程序的性能和资源消耗,帮助开发者和运维人员识别并解决潜在的问题。 【Jconsole 的使用方法】 1. **查看本地 JAVA 进程**:启动 Jconsole 后,会显示两个选项,一个是本地进程,...

    使用jconsole监听远程Tomcat服务的方法

    JConsole的使用过程是在本地计算机上打开JConsole工具,并在远程进程中输入远程Tomcat服务器的IP地址以及配置的JMX端口号(8696),点击连接后,JConsole就会展示远程服务器上运行的Java应用程序的详细信息。...

    tomcat常见问题及其解决方法

    以上只是Tomcat使用中可能遇到的部分问题和解决方法,实际运维中还需要根据具体情况进行深入分析和处理。对于每个问题,通常需要查看Tomcat的日志文件以获取更详细的错误信息,以便更准确地定位和解决问题。同时,...

    Java 线程死锁的问题解决办法

    在 Java 中,线程死锁的问题解决办法是非常重要的,下面我们将深入探讨 Java 线程死锁的问题解决办法。 一、线程死锁的原因: 线程死锁的原因主要是两个线程相互等待对方锁定的资源。在上面的代码模拟中,我们可以...

    outofmenory解决方法.txt

    在软件开发过程中,尤其是在Java应用服务器(如Tomcat)上部署的应用程序中,经常会遇到内存溢出问题(`OutOfMemoryError`)。这种错误通常发生在虚拟机无法分配足够的内存来创建新对象时。这不仅会影响应用程序的...

    java内存,性能分析工具Optimizeit Profiler介绍(类似MAT,JConsole等)

    它与MAT (Memory Analyzer Tool) 和JConsole等工具相似,提供了深入的内存和CPU使用情况的洞察,帮助开发者识别和解决性能瓶颈。 Optimizeit Profiler的主要功能包括: 1. **内存分析**:它能够详细地跟踪Java对象...

    JMM-Heap-Stack:Eclipse 内存分析器、JProfiler、jconsole、jmc、jvisualvm、内存转储

    了解和熟练使用这些工具,结合JMM的知识,能够有效地排查和解决Java应用中的内存问题,提升程序的稳定性和性能。在实际开发中,应定期检查内存使用情况,及时发现并处理潜在的内存泄漏,保证程序的高效运行。

    tomcatOutOfMemory错误解决方法共4页.pd

    Tomcat是一款广泛使用的开源Java应用服务器,该错误通常表示Tomcat在运行过程中耗尽了可用内存,导致应用程序无法正常运行。 【描述解析】:“tomcatOutOfMemory错误解决方法共4页.pdf.zip”描述了文件的格式和内容...

    64位weblogic--windows安装部署及常见问题解决

    5、解决问题的方法 - 使用WebLogic控制台进行应用部署和管理,可以查看日志和诊断信息来定位问题。 - 配置日志级别以获取更详细的错误信息。 - 查阅官方文档和社区论坛,寻找类似问题的解决方案。 - 使用JVM调试...

    解决OutOfMemoryError: PermGen space

    解决“OutOfMemoryError: PermGen space”问题虽然过程可能比较痛苦,但是一旦找到正确的方法,问题就能得到解决。本文提供的解决方案包括调整PermGen space的大小、优化代码、使用JConsole监控内存等,希望能帮助...

    Java问题定位技术的文档

    在Java开发过程中,遇到问题是在所难免的。无论是性能瓶颈、程序崩溃,还是逻辑错误,都需要我们具备一定的问题定位技术来快速找到问题所在并解决。本文档将详细讲解Java问题定位的一些关键技术和方法,帮助开发者...

    内存IO磁盘网络问题分析

    在软件开发过程中,内存问题是非常常见的问题之一,尤其是在高并发场景下。内存问题可能导致系统运行缓慢、响应延迟甚至崩溃。因此,掌握内存问题的分析和解决方法对于提升系统的稳定性和性能至关重要。 #### 二、...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    或者在脚本中使用`set`命令直接设置: ``` set JAVA_OPTS='-Xms64m -Xmx512m' ``` ##### 代码优化 除了调整JVM配置外,优化代码逻辑也是关键。具体措施包括: - **避免不必要的对象创建**:检查代码中是否...

    weblogic 使用的问题

    然而,像任何复杂系统一样,WebLogic在使用过程中可能会遇到各种问题。这篇博客(https://fly533.iteye.com/blog/662036)可能详细记录了某个开发者或管理员在使用WebLogic时遇到的挑战以及解决方法,虽然描述为空,...

    解决死锁

    在IT行业中,死锁是操作系统、数据库系统及多线程编程中常见的问题。死锁指的是两个或多个进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉它们都无法推进下去。本文将深入探讨死锁的...

    TroubleshootingJavaReaddebugandoptimizeJVMapplications.pdf

    6. **故障排除策略**:在调试过程中,书中的技巧涵盖了如何分析日志、使用内存分析工具、理解JVM的内存模型、跟踪线程状态以及如何利用Java的监控和管理工具(如JConsole、VisualVM等)来定位问题。 7. **性能优化*...

    Java问题定位技术.rar

    通过对堆栈跟踪的分析,可以追踪到问题的根源,了解异常是在哪个方法中产生的。 3. **JVM监控工具**:Java虚拟机(JVM)提供了丰富的工具用于监控和诊断问题,如JConsole、VisualVM和JMX。它们可以提供CPU使用率、...

Global site tag (gtag.js) - Google Analytics