Tag: jprofiler

Hibernate向数据库发送多余的查询

我有一个奇怪的问题,Hibernate运行的查询比我要求的更多,并且看不到需要。 这是我的控制器: @Autowired UserService users; @RequestMapping(“/test”) @ResponseBody public String test() { User user = users.findUser(1L); return “Found user: “+user.getEmail(); } 这是UserService : @Component public class UserService { @javax.persistence.PersistenceUnit private EntityManagerFactory emf; private JpaTemplate getJpaTemplate() { return new JpaTemplate(emf); } public User findUser(long id) { long start = System.currentTimeMillis(); JpaTemplate jpaTemplate = getJpaTemplate(); User user = […]

如何在两跳SSH隧道中使用JProfiler

我正在尝试将JProfiler连接到运行在我称之为远程服务器的服务器上的JVM。 该服务器只能通过我称之为中间的另一台服务器从我的工作站( 本地 )访问。 我将JProfiler连接到远程的计划如下: 在远程安装JProfiler检测 建立从本地 , 中间到远程的 SSH隧道: ssh -v -N -L 8849:[remote’s private address (192.168… etc)]:8849 [middle] 在localhost:8849上建立一个新的JProfiler会话,选择“立即启动,稍后用JProfiler GUI连接” 但是,我最终得到一个错误: 连接错误 使用旧版本的本机库或其他应用程序正在侦听端口8849.请检查您的DYLD_LIBRARY_PATH环境变量和端口配置 除了我的SSH隧道之外,我没有绑定到本地端口8849的任何其他程序,并且我已经确认SSH隧道本身应该正常工作 – 我能够将测试HTTP服务器的连接从远程转发到本地通过类似配置的隧道。 我发现了类似的问题,但没有提供解决方案。 我的配置中缺少什么?

在alpine / Jprofile 10中运行jpenable时出现UnsatisfiedLinkError

当运行jpenable以允许在运行JDK 8的alpine:3.3容器中对Jprofiler10进行概要分析时,我收到了一个UnsatisfiedLinkErrorexception。 有任何想法吗? ERROR: The agent could not be loaded: Picked up _JAVA_OPTIONS: -Xmx1024m Exception in thread “main” java.lang.UnsatisfiedLinkError: /opt/jprofiler10/bin/ linux-x64/libattach.so: Error relocating /opt/jprofiler10/bin/linux-x64/libattac h.so: __strcpy_chk: symbol not found at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at com.jprofiler.attach.bbbload(ejt:6) at com.jprofiler.attach.bbiloadLibraryPath(ejt:49) at com.jprofiler.attach.ab(ejt:92) at com.jprofiler.attach.aa(ejt:74) at com.jprofiler.attach.a.main(ejt:116)

简单的Jprofiler设置无法正常工作

我正在尝试启动并运行一个简单的本地主机JProfiler会话。 我创建了会话,主机是127.0.0.1,端口是默认的8849,我已经将启动/关闭命令指向我的本地tomcat安装startup.sh/shutdown.sh。 我点击确定,我得到“连接到127.0.0.1:8849”,150秒后(我修改了超时)它超时并说: 无法连接到127.0.0.1:8849。 请确保远程地址正确,远程程序正确启动,网络路由允许套接字连接。 地址不可能是错的,我已经validation了(ps -ef | grep tomcat)进程已启动,并且还检查了tomcat日志并且它正在等待请求: INFO: Starting Coyote HTTP/1.1 on http-8080 Apr 15, 2011 7:49:13 AM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Apr 15, 2011 7:49:13 AM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/21 config=null Apr 15, 2011 7:49:13 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 47312 ms […]

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

如何使用JProfiler在java中查找内存泄漏? 过去一周我一直在JProfiler工作,在Web应用程序中查找内存泄漏。 我阅读了一些手册并查看了一些文章,它说看到所有对象和分配对象视图中的内存使用情况,并使用分配热点可以找到内存泄漏。 我调查了它,发现了char,string,bytes使用的大量内存。 由于我是一个更新鲜的我不知道如何计算这个并解决内存泄漏。 请帮帮我… 提前致谢…

Java应用程序分析

我正在寻找一个Java代码分析器,我可以用它来分析我的应用程序(它是一个在后端运行的服务)生产(所以意味着低调,它不能减慢我的应用程序)。 主要是我想调用树分析,也就是说a()调用b()然后b()调用c(),然后a()b()和c()花了多少时间,包括和排他。 已经看过jvisualvm和jprofiler ,但这不是我想要的,因为我无法将我的生产应用程序绑定到它们,因为它会导致一个主要的性能问题。 此外,我确实通过了metrics ( https://github.com/dropwizard/metrics ),但它没有给我一个function来分析调用树。 Callgrind ( http://valgrind.org/docs/manual/cl-manual.html )类型库是我需要的,因为它提供了调用树分析function和高级选项,如避免调用循环(递归)。 但是我不确定Callgrind是否可以用于生产,因为它会在程序终止时转储数据。 任何人都可以建议用于java的好的调用树分析器,可以在不影响性能的情况下用于生产吗?

我怎样才能弄清楚什么是不确定的物体?

我们的一个程序有时会在一个用户的计算机上出现OutOfMemory错误,但当然不是在我测试它时。 我只是用JProfiler运行它(在10天的评估许可证上,因为我之前从未使用它),并且对我们的代码前缀进行过滤,总大小和实例数量中最大的块是特定简单类的8000多个实例。 我点击了JProfiler上的“Garbage Collect”按钮,我们其他类的大部分实例都消失了,但不是这些特殊的。 我再次运行测试,仍然在同一个实例中,它创建了4000多个类的实例,但当我点击“垃圾收集”时,那些离开了8000多个原始实例。 这些实例会在各个阶段陷入各种集合中。 我认为它们不是垃圾收集的事实必然意味着某些东西持有对其中一个集合的引用,以便保持对对象的引用。 有什么建议我如何弄清楚什么是持有参考? 我正在寻找在代码中寻找什么的建议,以及如果有的话在JProfiler中找到它的方法。

在Java 8中识别stacktrace中的lambdas

我正在尝试使用JProfiler配置使用lambdas的Java应用程序。 我无法识别,探查器将哪个lambda显示为热点: 我很感激任何帮助理解涉及lambdas的堆栈跟踪的格式,如“edu.indiana.soci.spidal.vectorclass.lambda $ PairwiseThread_SecDrv $ 23” 谢谢!

如何将JProfiler连接到在localhost上运行的应用程序?

我有一个在我的localhost上运行的应用程序,我想分析应用程序,看看如何增强应用程序的性能。 我正在按照定义执行设置步骤,但它无法连接到localhost服务器,是否有适当的分步指南可用于如何: 配置JProfiler以使用在localhost上运行的应用程序? 在分析应用程序时如何分析以及查找哪些区域? 使用Eclipse IDE配置JProfiler,现在能够在eclipse中查看运行下拉列表中的配置文件,但它们未被激活,那么如何激活它? 我有与此问题类似的问题,但我无法理解解决方案,对此的任何建议都将非常感激。 我现在尝试了一段时间没有成功配置JProfiler来处理在localhost上运行的应用程序,任何建议都将受到高度赞赏。 我是分析应用程序世界的新手,所以如果你能提供一些有用的指针,我将非常感激 我收到以下错误消息: Could not connect to 127.0.0.1:8849. Please make sure that the remote address is correct, the remote program is started properly, and the network route allows socket connections. 我已经使用新服务器集成设置了配置,不确定还需要做什么以及如何解决这个问题。 添加-agentpath:C:\Users\user~1.DOS\SOFTWA~1\JPROFI~1\bin\WINDOW~1\jprofilerti.dll=port=8849,nowait,id=117,config=C:\Users\user\.jprofiler6\config.xml到运行配置下的vm arguments ,然后当我运行配置时我得到 JProfiler> Protocol version 32 JProfiler> Using JVMTI JProfiler> JVMTI version 1.1 detected. JProfiler> 64-bit […]

什么是’JNI全球参考’

我正在使用jProfiler在Java swing应用程序中查找内存泄漏。 我已经确定了一个JFrame的实例,它在数量上不断增长。 此框架打开,然后关闭。 使用jProfiler,并查看GC根路径,只有一个参考,’JNI全局参考’。 这是什么意思? 为什么它挂在框架的每个实例上?