我们正在 JBoss 4.0.5 部署的 Web 应用程序上执行一些 JMeter 测试。我们希望将服务器上应用程序的资源使用情况(内存、线程等)与 JMeter 响应时间结果相结合。
我们找到了使用 Tomcat 执行此操作的教程:http : //www.informit.com/guides/content.aspx? g = java&seqNum= 273,我们想知道是否可以使用 JBoss 完成。
一种替代方法是使用 jconsole 或类似的东西手动监控资源使用情况,但我们更喜欢自动化和集成的东西。
问候,
(如果我错了,请纠正我)
我明白当你通过发出java命令运行java程序时,
java MyProg
Run Code Online (Sandbox Code Playgroud)
该程序将运行到一个新的JVM上.
是什么将程序加载到新的JVM中?它是JRE产生一个新线程吗?
如果每个程序都在自己的JVM中运行,那么它们是否可以相互通信?
我之前问了一个关于如何使用JMX向本地运行的java程序发送请求的问题.我发现如果在本地发出JMX命令,我不需要端口号.答案是客户端应用程序(例如jconsole,jvisualvm,jprobe等)搜索在机器上运行的Java应用程序.这很好,但考虑到客户端应用程序将在与要监视或通信的应用程序不同的JVM中运行,它们如何在没有端口号的情况下相互连接(因为它们不在同一个JVM上运行)?
如果两个程序正在运行,通常会有2个JVM.JVM是否在同一个JRE流程中运行?并且这也不意味着两个JVM应该能够通信吗?
谢谢
当我开始JConsole它标识我的java进程(本地)但它无法连接到它.
Connection Failed: Retry?
The connection to 17424 did not succeed.
Would you like to try again?
Run Code Online (Sandbox Code Playgroud)
再次选择connect会产生相同的错误(17424是java进程的pid).另一方面 jvisualvm工作得很好.在jvisualvm中,我看到以下细节
PID: 17424
Host: localhost
Main class: Conatainer
JVM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04, mixed mode)
Java: version 1.7.0_11, vendor Oracle Corporation
Java Home: /home/aniket/jdk1.7.0_11/jre
JVM Flags: <none>
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这种情况?这是一个错误吗?有工作吗?
我有以下代码来测试:
import java.math.BigInteger;
import java.util.Random;
public class TestBigInteger {
public static void main(String[] args) {
BigInteger bigInteger = BigInteger.probablePrime(32, new Random())
.multiply(BigInteger.probablePrime(32, new Random()));
BigInteger n = BigInteger.probablePrime(20, new Random());
while (!Thread.interrupted()) {
bigInteger.mod(n);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从jconsole得到了以下情节:
为什么会这样?如果我bigInteger只有64位长度,为什么mod操作会占用大量内存?
我们正在Kafka为运行Jolokia JMX代理的GC设置监视。我们正在Telegraph将JMX从系统中运送到我们的Grafana服务器以绘制图形。
当我们检查时,G1 GC count for Old Generation我们可以看到收集计数和收集时间为
Kafka使用以下命令来运行进程的Java参数:
-javaagent:/usr/lib/jolokia/jolokia-jvm-1.5.0-agent.jar -Xmx2G -Xms2G -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true -Xloggc:/home/test/kafka_2.12-1.0.1/bin/../logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8000 -Djava.rmi.server.hostname=172.31.24.149 -Dkafka.logs.dir=/home/test/kafka_2.12-1.0.1/bin/../logs -Dlog4j.configuration=file:./bin/../config/log4j.properties
谁能指出这个问题。
我编写了一个在服务器上运行的Java服务.
我使用JMX并jconsole监控来自myPC的服务.
为了连接,我必须将以下链接复制并粘贴到jconsole:
service:jmx:rmi://192.168.5.207:9999/jndi/rmi://192.168.5.207:9999/jmxrmi
Run Code Online (Sandbox Code Playgroud)
退出后jconsole,如果我想重新连接,我必须再次复制并粘贴链接.
有没有办法保存链接,jconsole以便我可以重用它?
或者你可以建议另一个远程监控工具.
为什么我的服务器堆的使用量稳定增长到某一点然后它下降到一定量的堆使用量(~270mb).我认为丢弃是由于垃圾收集.但是为什么它增长虽然我的服务器什么也没做?

我想知道当我从 Eclipse 运行或调试应用程序时是否有一个插件或有人有一个脚本可以自动启动 jconsole。也许也添加类路径。我用谷歌搜索但没有找到任何东西。在大多数情况下,这表明它不起作用或者很容易问:D
我很困惑。在我的旧 Mac 上,Jconsole 无法连接到本地 JVM。我以为我做了一些事情来搞乱系统配置。然后我得到了一台新Mac。我做的第一件事是下载一个jdk,安装它并检查jconsole是否可以连接。它可以。
然后,我使用 Time Machine 备份驱动器从旧 Mac 上拉取用户和应用程序(系统文件除外)。仍然工作。
但我发现我的开发环境发生了奇怪的事情。在 eclipse 中,我可以启动我的 Jboss 服务器,但 eclipse 从未识别出 Jboss 服务器已启动。所以,我永远无法通过 eclipse 添加或删除 war 文件。
此外,jboss 实例无法连接到我的本地主机 PostGres 数据库,即使 ds 文件明确指定本地主机作为要连接的主机。
我通过为我的新 Mac 指定旧 Mac 的主机名来解决这些问题。但现在我又无法通过 jconsole 连接到本地 JVM。
这不仅影响 jconsole,还影响 jprof,所以我想修复它。
jconsole可以看到JVM进程。当我尝试连接时它只是超时。
我还尝试连接到本地主机:通过编写一个休眠五分钟的 java 类并使用以下命令行运行它:
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false
但我也无法连接到 localhost:9010 或 :9010。我的猜测是这是一些网络配置问题,但任何帮助将非常非常感激。
谢谢,
乔治
我想从JConsole看到并管理Quartz Scheduler.我配置了石英道具.
org.quartz.scheduler.rmi.export=true
org.quartz.scheduler.rmi.registryPort=1099
org.quartz.scheduler.rmi.createRegistry=true
org.quartz.scheduler.rmi.registryHost=localhost
org.quartz.scheduler.skipUpdateCheck=true
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=10
org.quartz.threadPool.threadPriority=5
Run Code Online (Sandbox Code Playgroud)
但是我无法使用url连接jconsole
service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxrmi
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我已经创建了一个Java/JavaFX控制台,现在我面临一个例外:Console reports an Internal error.The error is: java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-5.控制台的代码:
package core.console;
import javafx.concurrent.Service;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
import java.io.*;
import java.util.ResourceBundle;
public class Console implements Runnable{
private Console(ResourceBundle resourceBundle) throws IOException {
FXMLLoader loader = new FXMLLoader(this.getClass().getResource("Console.fxml"), resourceBundle);
Parent root = (Parent) loader.load();
controller = loader.getController();
Scene scene = new Scene(root);
stage = new Stage();
stage.setScene(scene);
textArea = controller.getTextArea();
show();
PipedOutputStream pout=new PipedOutputStream(this.pin);
System.setOut(new PrintStream(pout,true)); …Run Code Online (Sandbox Code Playgroud) 我最近用MBean编写了一个应用程序,这几天工作正常.现在当它运行时,我无法使用JConsole看到它.即使我将此添加到我的运行参数:-Dcom.sun.management.jmxremote
我尝试了其他程序,如:JVisualVM和JRockit任务控制,但他们都没有看到应用程序.更重要的是,我曾经也能够看到其他程序,比如Jconsole可以看到JVisualVM,但即使这样也不能令人遗憾.有谁知道出了什么问题?谢谢
更新的问题,以更好地反映社区的支持
基于社区支持,我已将Ajax功能更改为:
(function($){
$(document).ready(function(){
$('a').click(function(e){
var el = $(this).prev('input[type="checkbox"]');
if(el.is(':checked')){
el.prop('checked',false);
}
$.ajax({
url : "http://localhost/wordpress/wp-content/themes/Aisis-Framework/CoreTheme/AdminPanel/Template/Helper/UncheckPackageThemeHelper.php",
type : 'GET',
data : { 'element_name' : el.prop('name') },
success: function(data, textStatus, jqXHR){
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown ){
console.log(jqXHR, textStatus, errorThrown);
}
});
e.preventDefault();
});
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
生成的PHP类是这样的:
class CoreTheme_AdminPanel_Template_Helper_UncheckPackageThemeHelper{
private $_element_name = null;
public function __construct(){
if(isset($_GET['element_name'])){
$this->_element_name = $_GET['element_name'];
echo $this->_element_name;
}
}
}
Run Code Online (Sandbox Code Playgroud)
网络选项卡显示我有一些激活Jquery的输出,我在下面显示:
控制台没有错误地吐出,但没有回显元素名称.我已经阅读了Jquery Ajax API,到目前为止,我所做的一切似乎都是正确的.然而,我没有得到理想的出局.
注意:响应选项卡为空....换句话说,我没有收到回复.