标签: jconsole

如何在生产中查看EhCache缓存的内容

一位同事告诉我,可以在生产中随时使用JConsole查看EhCache缓存的内容.我想知道:这是真的,如果是这样的话/为什么?更重要的是,只是窥视缓存的内容导致应用程序的性能问题(比如启动分析器)?

java profiler caching jconsole ehcache

5
推荐指数
0
解决办法
827
查看次数

运行启用了远程管理的java进程

我正在尝试运行java进程并使用jconsole启用远程连接.我将以下参数添加到命令行(在主类之前):

-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote. authenticate=false
Run Code Online (Sandbox Code Playgroud)

使用netstat,我看到jvm正在侦听端口9999:

tcp6       0      0 :::9999                 :::*                    LISTEN      16971/java
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试连接jconsole localhost:9999时,我收到一条错误消息,指出连接失败.

任何的想法?

java jconsole

4
推荐指数
1
解决办法
4948
查看次数

使用jconsole时Java转储堆文件的位置?

那真是令人尴尬......

我开始使用Eclipse Memory Analyzer来查找Windows机器上的Java内存泄漏.第1步是获取堆转储文件.为此,我从Eclipse中启动Java(javaw.exe)进程并使用jconsole连接到它.然后在jconsole MBeans选项卡上单击dumpHeap按钮.我第一次这样做时,我看到一个弹出窗口说它创建了堆转储文件,但没有给出它的名称或位置.现在每当我连接到不同的javaw.exe进程时再次执行dumpHeap时,jconsole说:

Problem invoking dumpHeap : java.io.IOException: File exists
Run Code Online (Sandbox Code Playgroud)

当然不会给出它的名字或路径.它可能在哪里?

我搜索了我的C:驱动器(使用cygwin命令行工具)来查找包含"hprof"或"java_pid"或"heapdump"的文件,但没有找到任何合理的信息.我甚至使用Windows搜索来查找我的Eclipse工作区中在最后一天发生了变化的所有文件.

我正在使用Sun Java 1.6 JVM,并且没有设置-XX:HeapDumpPath.

更新(2010年4月28日):我的原始堆文件位置必须由jconsole确定,我从该工具触发了堆转储.JVM的堆转储位置必须仅应用于它触发的堆转储(例如,在OutOfMemoryException上).

Matt B建议使用jvisualvm很好地解决了我的问题,指向一个更有用的旧jconsole替代品.它有一个很好的内存分析器,可以显示哪些类型的对象数量最多并且占用的内存最多.它有一个监视器,显示实际内存使用情况.当你要求它进行堆转储时,它甚至会告诉你文件名!Eclipse Memory Analyzer为您提供完整的详细信息.

java eclipse jconsole heap-dump

4
推荐指数
3
解决办法
2万
查看次数

如何连接到另一个本地进程中的mBeanServer?

如果在启动JVM时设置"com.sun.management.jmxremote"系统属性,则可以运行jconsole或visualvm并连接到该本地mBeanServer.我想做他们正在做的同样的事情,但无法弄清楚如何做.

是否有可用于标识本地运行的JVM的服务URL?

我知道我可以通过在特定端口上设置jmxmp或rmi侦听器然后连接到该端口来实现这一点,但我不想这样做,因为这意味着我必须管理端口并知道哪个端口到哪个端口jvm(我们在同一台服务器上运行多个jvms).

java jmx visualvm jconsole

4
推荐指数
1
解决办法
5477
查看次数

无法将jconsole连接到远程服务器,tomcat无法启动

尝试将jconsole连接到远程服务器.

我把它添加到我的catalina.sh:

export JAVA_OPTS="-Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=9005 \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Djava.rmi.server.hostname=xx.xx.xx.xx"
Run Code Online (Sandbox Code Playgroud)

catalina.out显示:

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: myhostname: myhostname
Run Code Online (Sandbox Code Playgroud)

不确定为什么它会在错误消息中重复我的主机名?

顺便说一句,因为我将身份验证设置为false,在jconsole应用程序中,我是否将用户名/密码留空或是用于登录服务器?

java tomcat jvm jconsole

4
推荐指数
1
解决办法
1万
查看次数

休眠 jconsole 弹簧配置

我正在努力配置 hibernate jmx,以便通过 hibernate jconsole 插件获得一些指标。

其实我是按照hibernate jconsole插件官网的配置来的:http : //hibernate-jcons.sourceforge.net/usage.html#pre-requisites

但它不起作用所以我在互联网上搜索了几个小时,测试了一些东西。我发现的唯一与我的问题相关的事情是:如何在 Spring 3.0 应用程序中配置 Hibernate 统计信息?

但它仍然不起作用。我需要你的帮助。

这是配置:

@PersistenceContext(unitName = DomainConstants.JPA_PU_BACKEND)
private EntityManager em;

@Bean(name="jmxExporter")
public MBeanExporter    jmxExporter() throws MalformedObjectNameException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException {
    MBeanExporter exporter = new MBeanExporter();
    Map<String, Object> beans = new HashMap<String, Object>();
    beans.put("Hibernate:application=Statistics", "hibernateStatisticsBean");
    MBeanServerFactoryBean serverFactory = new MBeanServerFactoryBean();
    serverFactory.setLocateExistingServerIfPossible(true);
    // --- new1
    MBeanServer MBeanServer = serverFactory.getObject();
    exporter.setServer(MBeanServer);
    exporter.setRegistrationPolicy(RegistrationPolicy.REPLACE_EXISTING);
    // end -- new1
    exporter.setBeans(beans);
    return exporter;
}


@Bean(name="hibernateStatisticsBean")
public StatisticsService hibernateStatisticsBean() {
    StatisticsService service …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jconsole

4
推荐指数
1
解决办法
2301
查看次数

Linux中的JConsole位置

我试图从我的机器运行jconsole但我找不到.sh的位置.我试过在不同的目录中找到它并将JAVA_HOME设置为jdk.

$which java
/usr/bin/java
$java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (rhel-2.4.4.1.el6_5-x86_64 u51-b02)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) 
$whereis java 
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz
Run Code Online (Sandbox Code Playgroud)

我查了/ usr/lib/jvm,我找到了

drwxr-xr-x. 3 root root 4096 Apr 23  2013 java-1.5.0-gcj-1.5.0.0
drwxr-xr-x. 3 root root 4096 Jan 27  2014 java-1.6.0-openjdk-1.6.0.0.x86_64
drwxr-xr-x. 3 root root 4096 Feb  5  2014 java-1.7.0-openjdk-1.7.0.51.x86_64
lrwxrwxrwx. 1 root root   21 Feb  5  2014 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root   27 Apr 23  2013 jre-1.5.0 -> …
Run Code Online (Sandbox Code Playgroud)

java linux jvm jconsole java-home

4
推荐指数
2
解决办法
3万
查看次数

Wildfly 10 Final 无限期地创建 ActiveMQ-client-global-threads

我有一个Wildfly ASJMS 设置,我正在使用 Jconsole 监视它,并注意到在我什至在我的会话上创建会话之前ConsumerProducer线程数稳步增加之前,我以前Wildfly 9 final出于相同目的使用它,它的线程使用率即使在使用,但它有一个内存泄漏促使我升级。

Jconsole我可以看到:

Thread-2(ActiveMQ-client-global-threads-3258368)
Thread-4(ActiveMQ-client-global-threads-3258368)
Thread-5(ActiveMQ-client-global-threads-3258368)
Thread-6(ActiveMQ-client-global-threads-3258368)
.
.
.
Thread-16(ActiveMQ-client-global-threads-3258368)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?是否有我可以更改的设置导致这些线程产生,是否有更多信息可以Jconsole帮助我解决这个问题?

activemq-classic jms jconsole wildfly-10

4
推荐指数
1
解决办法
2037
查看次数

Jconsole 远程连接丢失:重新连接?

我正在尝试使用 java 8 jre (服务器地址:192.168.10.3)对我的 tomcat 9 进行 jconsole 远程监控。在 tomcat9w 中我有这个 java 选项:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=5000
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=192.168.10.3
Run Code Online (Sandbox Code Playgroud)

防火墙已关闭。

带 -debug 的 Jconsole 向我展示了这一点:

java.lang.SecurityException: Expecting a sun.rmi.server.UnicastRef2 remote reference in stub!
    at java.management.rmi/javax.management.remote.rmi.RMIConnector.checkStub(RMIConnector.java:1787)
    at java.management.rmi/javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:310)
    at jdk.jconsole/sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:355)
    at jdk.jconsole/sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:313)
    at jdk.jconsole/sun.tools.jconsole.VMPanel$2.run(VMPanel.java:296)
java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy8.getTotalMemorySize(Unknown Source)
    at jdk.jconsole/sun.tools.jconsole.SummaryTab.formatSummary(SummaryTab.java:261)
    at jdk.jconsole/sun.tools.jconsole.SummaryTab$1.doInBackground(SummaryTab.java:87)
    at jdk.jconsole/sun.tools.jconsole.SummaryTab$1.doInBackground(SummaryTab.java:85)
    at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: javax.management.AttributeNotFoundException: No such attribute: TotalMemorySize
    at com.sun.jmx.mbeanserver.PerInterface.getAttribute(Unknown Source)
    at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

java monitoring jmx jconsole tomcat9

4
推荐指数
1
解决办法
1990
查看次数

如何加密JConsole密码文件的密码

我正在使用JConsole访问我的应用程序MBean,并使用password.properties文件.但根据Sun的规范,此文件仅包含明文格式的密码.

com.sun.management.jmxremote.password.file=<someLocation>/password.properties

现在我想加密密码并将其用于JConsole的JMX用户身份验证(Remote部分中的用户名和密码字段).我可以使用任何预定义的加密逻辑或我自己的加密算法.

有没有人知道任何这样的拦截将明文密码更改为加密密码,以便JMX Framework也知道加密密码?

我当前的密码文件:

guest  guest
admin  admin
Run Code Online (Sandbox Code Playgroud)

使用加密它应该看起来像:

guest  ENC(RjqpRYbAOwbAfAEDBdHJ7Q4l/GO5IoJidZctNT5oG64=)
admin  ENC(psg3EnDei6fVRuqHeLwOqNTgIWkwQTjI2+u2O7MXXWc=)
Run Code Online (Sandbox Code Playgroud)

java encryption passwords jmx jconsole

3
推荐指数
1
解决办法
7460
查看次数