问题标签 [jprofiler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1270 浏览

java - 在HashMap中缓存数据(Connection、ResultSet、Statement在获取数据后打开并放入Map)

在我的应用程序中,我需要输入cache数据,HashMap否则TreeMap它会节省大量时间,因为每次从中获取记录DB server并进行处理是非常耗时的任务。
我也在使用这个应用程序进行分析,JProfiler我觉得当我从中获取记录DataBase以放入Map连接时ResultSetStatement没有关闭,因为它向我展示了这些classes占用了太多内存。
这是我对此反应过度还是真的是一个问题?
顺便说一句,我正在关闭connectionin finally block。我正在发布它的代码。

HMDBUtil.close() 方法---

所有用于关闭所有连接的关闭方法——

0 投票
3 回答
21188 浏览

java - 查看某些基于时间的视图时,Mu (μ) 符号是什么意思

当我进行分析时,我可以看到一些带有 ms(毫秒)的数据,但我也看到了 μs。JProfiler 中的 μs 是什么意思?

0 投票
1 回答
18621 浏览

java - 如何使用 JProfiler 在 Java 中查找内存泄漏?

如何使用 JProfiler 在 Java 中查找内存泄漏?过去 1 周我一直在 JProfiler 中工作,以查找 Web 应用程序中的内存泄漏。我阅读了一些手册并查看了一些文章,它说查看所有对象和分配对象视图中的内存使用情况,并使用分配热点可以找到内存泄漏。我查看了它,发现 char、string、bytes 使用了很多内存。由于我是一个新手,我不知道如何解决这个问题并解决内存泄漏。请帮我解决这个问题..

提前致谢...

0 投票
1 回答
1704 浏览

java - 为什么 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 框架时实际上有问题?

0 投票
1 回答
1124 浏览

jprofiler - 使用 JProfiler 启动 WebSphere 6.0 时出错

我想使用 JProfiler 在远程服务器 linux(Red Hat Enterprise Linux Server 版本 5.3 内核版本 2.6.18-238.1.1.el5)中分析 Websphere v6.0(Java 1.4.2),但是在遵循文档之后,当我启动Websphere,出现以下错误:

JVMCI158:无法加载“libjprofiler.so”,因为 libjprofiler.so:无法打开共享对象文件:没有这样的文件或目录 JVMCI098:xmloadJVMHelperLib jprofiler,失败 无法创建 Java 虚拟机。

我做了什么:

(1) 我添加应用程序服务器 > lxvwrap1s1 > 进程定义 > Java 虚拟机 > 通用 JVM 参数:-Djava.compiler=none -Xrunjprofiler:port=8849 -Xbootclasspath/a:/opt/jprofiler7/bin/agent.jar

(2)我创建了环境变量LD_LIBRARY_PATH:export LD_LIBRARY_PATH=/opt/jprofiler7/bin/linux-x86

我忘记了什么或做错了什么?

0 投票
3 回答
17893 浏览

linux - How to run Jprofiler from Windows machine to Remote Linux JVM

Kindly let me know how to run Jprofiler from Windows machine to Remote Linux JVM.

Thanks a lot in advance.

0 投票
1 回答
373 浏览

jprofiler - JProfiler 运行时间与实际加载时间不同

我们在使用 JProfiler 7.1.1 时遇到了一个奇怪的问题,它显示给定 HTTP 请求的经过时间与使用 Firebug 或手动测试获得的完全不同 - 2.5 秒与 7.5 秒相比。使用默认会话设置。JProfiler 一直被证明是可靠的,我对这种行为有点难过。

任何想法为什么?

谢谢!

Update 1 YourKit 也提供了准确的结果,因此这显然与 JProfiler 有关。

0 投票
1 回答
2813 浏览

java - JProfiler - 未检测到由不同用户运行的 jvm

我正在尝试分析(使用 jprofiler)在 linux 机器的 tomcat 中运行的应用程序。tomcat 使用不同的用户帐户运行,我无权访问该 tomcat 帐户。我正在尝试使用我的用户帐户运行 jprofiler。但是 Jprofiler 没有检测到 tomcat 使用的 jvm。

有没有办法检测使用与 jprofiler 不同的用户帐户运行的 jvm?

我很感激任何帮助。谢谢

0 投票
1 回答
291 浏览

java - 从 JProfiler 中的离线运行中导出自定义探针图

我在 JProfiler 中使用离线分析(在远程机器上),我试图使用 jpexport 命令从快照中导出图形。但是,由于某种原因,我无法从我的自定义探针中获取那些,即使当我使用 JProfiler GUI 打开快照时,我也可以访问这些图表。

请注意,我正在通过 Profiling API 收集数据,例如,使用实现“TelemetryProbe”的 Java 类。在文档中,也有使用自定义探针向导的可能性,我想知道在将会话文件导出到分析机器后,我是否必须通过这种方法来获得我想要的东西。

对于 jpexport,我尝试按照自定义探针的说明从“ProbeTelemetry”导出图形,并提供 ID 1 以获取我的第一个探针,但没有成功。我什至尝试了 0,但它仍然返回说没有具有此类 ID 的探测器。

不过,我再说一遍,当使用 GUI 上传快照时,图表就在那里,所以 JProfiler 正在收集信息,我只是不知道如何访问它。

有什么建议么?谢谢你。

0 投票
2 回答
2273 浏览

jsf-2 - JSF Enterprise 应用程序内存使用情况

我有一个 Java EE 应用程序,如下所示:
- 服务器在 Amazon 上(大型实例,2 CPU @ 2.27GHz,8GB RAM) - 由 Apache 直接提供的静态内容
- JSF2 (Mojarra 2.1.3) 和 JPA 2 (Eclipselink 2.3.0 ) 在 Glassfish 3.1.1 上运行
- Facelets/XHTML 从 ViewScoped 托管 bean 获取内容,这些 bean 连接到执行所有处理的 @Local Stateless EJB,包括从使用 JPA 的其他 @Local Stateless EJB 获取数据
所以通常:

我知道我可以/应该将 2 层 EJB 删除为一层或什至没有,因为我只运行 Glassfish 的一个实例,但现在我认为这不是问题。

应用程序的性能还可以(2.2MB,包括 < 5 秒内的图像)。问题是当我们有 > 90 个用户在线时,系统变得非常慢(每页 > 30 秒,即使其中大部分被缓存)。
那时 CPU 使用了 50%,RAM 使用了 100%。

所以我运行了 JProfiler,但我不确定如何处理一种类型的结果。
在主页中,我们有一个类别列表,并且每个类别关联了许多产品(一个告诉每个类别中有多少产品的购物网站)。获取类别列表的代码是:

ViewScoped Bean

getLocale()从使用 ManagedProperty 注入的 SessionScoped Bean 中检索

服务 EJB:

数据 EJB:

JProfiler Memory View 显示,在主页上的每个请求(即使对于同一个用户),都会将新一批 Category 添加到内存中(准确地说是 43,这是显示的类别数)。类别不由 JPA 管理(来自 JPA 的列表用于“手动”创建 POJO)。
我怎样才能从内存中释放这些实体。当视图消失时,我希望它们成为 GC。但是 ViewScoped bean 本身不是 GC'd,有一堆实例留在内存中。

我应该寻找什么来释放这些对象?
- 是否@ManagedProperty在 ViewScoped bean 中使用 a 来获取 SessionScoped bean 的实例,从而阻止 ViewScoped 被 GC?
- 我应该寻找其他错误吗?

我确实检查了有关 JSF 最佳实践和性能指南的其他线程,但它没有帮助。