标签: jprofiler

根据我的要求,我应该使用NSIS或jprofiler/install4j

我们有一个Web应用程序,我们需要为客户更轻松地部署它们.新安装的当前工作流程:

  • 确保机器上有JRE(32或64位)
  • 安装Tomcat(32或64位)
  • 在Oracle或SQL Server中创建数据库(我们为此提供SQL脚本)
  • 将一些值写入我们的设置表,如主机名.(可以让用户验证这些,但不希望用户必须点击它们.
  • 创建一个连接属性文件(我们提供一个迷你JAR应用程序来帮助解决这个问题),它将位于Tomcat下.
  • 我们的实际Web应用程序有两个WAR文件.这些可以分为两台机器,但是现在,我们假设它们都被转储到Tomcat下.
  • 启动Tomcat以便它部署WAR

这对我们的用户来说是一个繁琐的过程,我想将它封装到一个安装程序中,并且一直在NSIS中看到这样做,这似乎有一个庞大的社区,但后来偶然发现了install4j,虽然看起来鲜为人知,但更多特定于基于java的应用程序.

只是想从更多经验丰富的用户那里得到一些平台上最佳选择的反馈.

我不想半途而废,然后意识到我选择了错误的安装平台.

nsis jprofiler install4j

5
推荐指数
1
解决办法
1090
查看次数

在查看某些基于时间的视图时,Mu(μ)符号的含义是什么

当我分析时,我可以看到一些ms的数据(毫秒),但我也看到μs.μs在JProfiler中意味着什么?

java jprofiler

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

为什么jProfiler将Unsafe.park/unpark显示为使用CPU周期?

我们使用相当多的ExecutorServices运行服务.

在使用jProfiler 7.1(sampling,Runnable)分析服务时,我们可以看到sun.misc.Unsafe.park + unpark当前是使用热点中大部分CPU时间的调用.

http://i.stack.imgur.com/wT2Cj.jpg

这令人费解.

Park和unpark应该是阻塞的,因此不使用任何CPU周期(或至少少量).这是来自jprofiler的某种错误(即没有检测到它,因为它在sun.misc包中吗?)或者我们使用ExecutorService框架实际上有什么问题吗?

java multithreading sun jprofiler

5
推荐指数
1
解决办法
1380
查看次数

无法阻止Tomcat

我是Tomcat的新手,只是用jprofiler配置我的tomcat.但是现在无法停止tomcat服务器,收到以下错误信息.

[root@localhost bin]# service tomcat stop 
Stopping .
Using CATALINA_BASE:   /data/applications/apache-tomcat-6.0.26
Using CATALINA_HOME:   /data/applications/apache-tomcat-6.0.26
Using CATALINA_TMPDIR: /data/applications/apache-tomcat-6.0.26/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0
Using CLASSPATH:       /data/applications/apache-tomcat-6.0.26/bin/bootstrap.jar
JProfiler> Protocol version 35
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 32-bit library
JProfiler> Listening on port: 8849.
JProfiler> Instrumenting native methods.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
JProfiler> ERROR: Could not bind socket.
\n\nTomcat …
Run Code Online (Sandbox Code Playgroud)

linux webserver tomcat jprofiler

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

带有JProfiler的轻量级异步采样分析器(AsyncGetCallTrace)

我最近阅读了Jeremy Manson(谷歌)的一篇博客文章,内容是关于如何使用更准确,更轻量级的异步采样分析器.它依赖于热点JVM中的"AsyncGetCallTrace"未记录方法来收集线程的堆栈跟踪.

http://jeremymanson.blogspot.fr/2013/07/lightweight-asynchronous-sampling.html

我对JProfiler社区的问题是:JProfiler在其当前的7.2.3版本中是否可以使用AsyncGetCallTrace?这个功能是否适用于JProfiler 8.0?

jprofiler jvm-hotspot

5
推荐指数
1
解决办法
1021
查看次数

如何在 linux 系统上进行 Jprofile(无 GUI)

我有安装 jprofiler 的 Linux 系统。

我必须一起分析位于同一 Linux 系统上的一台正在运行的服务器和一台客户端。我正在从客户端向服务器发送 100 多个不同的请求。

我的查询是:

  1. 如何在没有 GUI 干预的情况下自动化整个 jprofile 过程?
  2. 当开始 jprofiling 时,在 100 个请求提交给客户端之前还是之后?
  3. 在Linux系统中安装jprofiler后,我还没有找到config.xml (/root/.jprofiler8)。如何创建它?
  4. 如何在没有 GUI 的情况下创建会话?

为了分析 jprofiler 输出,我将在窗口系统上复制并使用 GUI jprofiler。

提前致谢,

编辑-1

我可以从下面自动执行分析程序步骤 4 和 5。以下所有步骤是否正确?

  1. 按照您在回复中的建议使用 GUI 配置会话(会话-> 集成向导-> 新建远程集成)

  2. 按照您在回复中的建议(会话-> 导出会话设置)使用 GUI 导出会话。

  3. 将 config.xml 从窗口复制到运行 jvm 的 Linux。

  4. 在 linux 系统中运行 jpenable 如下: jpenable --pid=8568 --noinput --offline --config=/home/myuser/config.xml --id=106

  5. 在 Linux 系统中运行 jpcontroller 如下所示并保存快照:jpcontroller 8568

  6. 将 Linux 系统的快照输出复制到窗口并使用 jprofiler 打开快照(会话-> 打开快照)以进行进一步分析。

编辑-2

-agentpath VM 参数添加到启动脚本中而不是使用我的第 4 …

jprofiler

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

如何解释JProfiler中的GC Activity图?

最近我一直在努力优化一些代码(需要计算时间和最大内存).要知道是否存在优化内存成本的潜在收益,我使用JProfiler.通常

  • 如果它很高,我应该尝试全局减少它
  • 如果它很尖刻,我应该尝试减少中间对象的创建

现在,我处于第二种情况,GC活动图显示了峰值,但都低于2%(见下图).我该怎么理解?

默认情况下,我的理解是GC活动曲线的总和/积分是用于收集数据的CPU总百分比的估计值.所以在这里意味着远远低于最大2%

这是正确的吗?我错过了什么吗?

在此输入图像描述

garbage-collection jprofiler

5
推荐指数
2
解决办法
1102
查看次数

即使有巨大的可用内存,Java GC 也会运行太频繁

我检查了 Java 应用程序的当前内存行为,我注意到垃圾收集器最初很少运行,但在很长一段时间内它会继续更频繁地运行,即使我没有设置最大内存使用量限制(服务器有 8Gb 的空闲内存)。

最初 GC 每 20 分钟运行一次,15 小时后每分钟运行一次,但应用程序做同样的事情并且 RAM 使用量没有峰值。

继续运行GC,消耗越来越多的CPU,24小时后,CPU使用率为85%,GC每10秒运行一次。

以下是演出截图:

Jprofiler 运行 14 小时

Jprofiler 运行 14 小时

JvisualVM 运行了最后一个小时

JvisualVM 运行了最后一个小时

JvisualVM - 高 CPU 使用率

JvisualVM - 高 CPU 使用率

为什么即使内存非常低,GC 也会启动?它不应该在这些情况下开始。

可能是什么原因或我应该怎么做来调查这种行为?

java garbage-collection memory-leaks jprofiler jvisualvm

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

分析 JVM:已提交内存、已使用内存和空闲内存

我正在使用 JProfiler 分析部署到 Jetty 服务器的 Java 应用程序。

过了一会儿,我得到了这个内存遥测: 在此处输入图片说明

右侧是此 Java 进程在 Windows 任务管理器上的总内存。

  1. 我看到 JProfiler 中承诺内存的周期性增加,尽管大多数时候,大部分内存是空闲的(绿色)。为什么提交的内存会这样增加?
  2. 在拍摄上图的时间点,JProfiler 中的 Committed Memory 显示为 3.17GB,但 Windows 任务管理器显示更高 - 4.2457 GB。这不是他们俩显示的相同记忆吗?这种差异的原因可能是什么?

java profiling jvm memory-leaks jprofiler

5
推荐指数
1
解决办法
2619
查看次数

如何从Eclipse中分离JProfiler?

我正在尝试分析MAT中的堆转储,但是当我点击堆时,我收到错误"无法找到JProfiler可执行文件".我的电脑上已经卸载了JProfiler.我不希望它再与Eclipse集成.

所有谷歌搜索结果都讨论了如何将JProfiler集成到Eclipse中.我正试图做相反的事情.

eclipse jprofiler

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